实体类:
|
| <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <properties resource="jdbc.properties"></properties> <settings> <setting name="lazyLoadingEnabled" value="true"/> </settings> <typeAliases> <package name="test.mylo.entity"></package> </typeAliases> <!--environments配置数据库环境(事务、连接池、连接参数)--> <!--default 表示默认使用哪个环境--> <environments default="mysql"> <environment id="mysql"> <!--指定事务管理器--> <transactionManager type="JDBC"></transactionManager> <!--指定数据源(连接池)--> <dataSource type="POOLED"> <property name="driver" value="${driver}"></property> <property name="url" value="${url}"></property> <property name="username" value="${username}"></property> <property name="password" value="${password}"></property> </dataSource> </environment> </environments> <mappers> <package name="test.mylo.mapper"></package> </mappers> </configuration> |
UserMapper
|
| TestSQL |
| package test.mylo.mapper;import test.mylo.entity.User; import org.apache.ibatis.jdbc.SQL; /** * @program: workSet * @description: 测试动态sql * @author: Mylo * @create: 2018-08-11 14:40 **/ public class TestSQL { public String testUpdate(final User user){ return new SQL(){{ UPDATE("user"); if (user.getUsername() != null){ SET(" username = #{username}"); } if(user.getBirthday() != null){ SET("birthday =#{birthday}"); } if(user.getAddress() != null){ SET("address = #{address}"); } WHERE("id = #{id}"); } }.toString(); } } |
| Test |
| @Testpublic void testUpdateUser(){ SqlSession sqlSession = build.openSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); User user = new User(); user.setId(50); user.setUsername("test33"); user.setSex("男"); user.setBirthday(new Date()); user.setAddress("test333"); mapper.updateUser(user); sqlSession.commit(); } |
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |