xml中的<where><if>模糊查询
select * from a <where> <!-- 模糊查询 --> <if test="null != name and name !=''"> and name like '%'||#{name}||'%' <!--或者name like '%${name}%'--> </if> <if test="null != age and age != ''"> and name = #{age} </if> <if test="sex != null and sex!=''"> and sex = #{sex} </if> </where>
1 select * from a 2 <where> 3 <!-- 模糊查询 --> 4 <if test="name !=null and name !=' ' "> 5 //这种方法一般用于otacle数据库 6 and name like '%'||#{name}||'%' 7 //name like '%${name}%' 8 //name like concat(#{name},'%') 9 //优先用这个方法(这种方法一般用于mysql数据库) 10 //name like concat('%',#{name},'%') 11 12 13 </if> 14 <if test="age !=null and age!=''"> 15 and name = #{age} 16 </if> 17 <if test="sex !=null and sex!=''"> 18 and sex = #{sex} 19 </if> 20 <if test="user !=null and user !=''"> 21 and user like concat (concat ('%',#{user}, '%')) 22 </if> 23 //时间范围(时间if条件没有kssj!=""因为时间不可能为空) 24 <if test="kssj !=null and jssj !=null> 25 and #{kssj} <= #{creatDate} <= #{jssj})) 26 </if> 27 //方法3(优先使用这种方法) 28 <if test="kssj !=null and jssj !=null> 29 and to_char(creatDate,'yyyy-mm-dd'} between #{kssj} and #{jssj} 30 </if></where>
每天多努力一点,你将会变得更好。