MyBatis动态SQL set标签的使用

需求:哪一个字段不为空就插入那个字段,为空的不更新

ex:

 <update id="update">
        UPDATE tb1_emplyee
        <set>
            <if test="lastName!=null">
                last_name=#{lastName},
            </if>
            <if test="email!=null">
                email=#{email},
            </if>
            <if test="gender!=null">
                gender=#{gender}
            </if>
        </set>
        WHERE id=#{id}
    </update>

测试类:

@Test
	public void testDynamicSqlTest() throws IOException{
		SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
		//1、获取到的SqlSession不会自动提交数据
		SqlSession openSession = sqlSessionFactory.openSession();
		try
		{
			    EmployeeMapperDymanicSQL mapper=openSession.getMapper(EmployeeMapperDymanicSQL.class);
				Employee employee=new Employee(1,"lili",null,"1");
				/*List<Employee> emps=mapper.getEmpsByConditionChoose(employee);
			    for (Employee e:emps){
					System.out.println(e);
				}*/
				mapper.update(employee);
				openSession.commit();
		}
		finally {
			openSession.close();
		}
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值