动态查询使用<where>标签和<if>标签来完成。
其中,模糊查询的sql写法如下:
1,like '%${name}%'
select * from user <where> <if test="name!=null and name!=''"> and name like '%${name}%' </if> </where>
2,concat('%',#{name},'%')
select * from user <where> <if test="name!=null and name!=''"> and name like concat('%',#{name},'%') </if> </where>
3,bind
select * from user <where> <if test="name!=null and name!=''"> <bind name="userName" value="'%'+name+'%'"/> and name like #{userName} </if> </where>
第一种方法不安全,第二种方法只适用于Mysql和Sqlserver,Oracle不适用。第三种方法都可以。
posted on
浙公网安备 33010602011771号