mybatis加入条件
根据http://www.cnblogs.com/friends-wf/p/3799315.html搭建的环境
User.xml加入的 if where判断的
1 <!-- 根据条件查询一个用户 --> <!-- 别名替代,简写--> 2 <select id="conditionOne" parameterType="string" resultType="aliasesUser"> 3 select <include refid="cols"/> from user_c 4 <where> 5 <if test="name!=null"> 6 and name like "%" #{name}"%" 7 </if> 8 <if test="age!=null"> 9 and age=#{age} 10 </if> 11 </where> 12 </select> 13 <!-- 根据条件修改一个用户,当User对应的字段如果为空的话不更新,标签自动删除逗号 --> 14 <update id="updateConditionOne" parameterType="cn.itcast.domain.User" > 15 update user_c 16 <set> 17 <if test="name!=null"> 18 name=#{name}, 19 </if> 20 <if test="age!=null"> 21 age=#{age}, 22 </if> 23 <if test="address!=null"> 24 address=#{address}, 25 </if> 26 </set> 27 where id=#{id} 28 </update> 29
测试
1 @Test 2 public void testConditionOne() 3 { 4 User u=new User(); 5 u.setName("wf"); 6 SqlSession session=sqlSessionFactory.openSession(); 7 User user=session.selectOne("cn.itcast.mybatis.conditionOne", u); 8 System.out.println(user); 9 } 10 11 12 @Test 13 public void testUpdateConditionOne() 14 { 15 SqlSession session=sqlSessionFactory.openSession(); 16 User u=new User(); 17 u.setId("1"); 18 u.setAddress("USAaaaaa"); 19 int count=session.update("cn.itcast.mybatis.updateConditionOne", u); 20 session.commit(); 21 System.out.println(count); 22 }