模糊查询
模糊查询方法1
SELECT * FROM tableName WHERE name LIKECONCAT(CONCAT('%', #{text}), '%');
模糊查询方法2
SELECT * FROM tableName WHERE name LIKE “%”#{text}”%”;
模糊查询方法3
使用 ${...} 代替 #{...}
SELECT * FROM tableName WHEREname LIKE '%${text}%';
3. 程序中拼接
4. 大小写匹配查询
SELECT * FROM TABLENAME WHERE UPPER(SUBSYSTEM) LIKE '%'|| UPPER('jz') || '%'
或者
SELECT * FROM TABLENAME WHERE LOWER(SUBSYSTEM) LIKE '%'|| LOWER('jz') || '%'
Foreach的使用
Mybatis:(mybatis里面的参数都是用#{名字})
如果查询多个,或者删除多个语句
Mappper里面的接口比如
1. deleteByIds( List ids) 里面传入的是ids类型list的
里面的List ids 是这样的 List ids= new Aarraylist()这种
xml里面的写法:
select * from 表 where id in (这里要写类似)(xx,xx,xx)
List的范例 |
黄色部分要写为 |
<foreach collection=”类型是List就写为list” item=”取个别名用在下面的循环” index=”循环的下标别名index” open=”前缀是(” separator=”分隔符,” close=”后缀)”> |
#{item} |
</foreach> |
完整的正确的代码 |
<select id=” deleteByIds” resultType=”结果的类型比如一个pojo的class” > |
select * from 表名 <where> id in |
<foreach collection=”list” item=”id” index=”index” open=”(” separatoe=”,” close=”)”> |
#{id} |
</foreach> </where> |
2. deleteByIds( int[] ids) 里面传入的是ids类型array数组类型的
Array的范例 |
黄色部分要写为 |
<foreach collection=”类型是Array就写为array” item=”取个别名用在下面的循环” index=”循环的下标别名index” open=”前缀是(” separator=”分隔符,” close=”后缀)”> |
#{item} |
</foreach> |
完整的正确的代码 |
<select id=” deleteByIds” resultType=”结果的类型比如一个pojo的class” > |
select * from 表名 <where> id in |
<foreach collection=”array” item=”id” index=”index” open=”(” separatoe=”,” close=”)”> |
#{id} |
</foreach> </where> |
3. deleteByIds( Map ids) 里面传入的是ids类型map类型的
Map的范例 |
黄色部分要写为下面collection的值为ids,是传入的参数Map的key,对应的Mapper代码: |
<foreach collection=”类型是Array就写为array” item=”取个别名用在下面的循环” index=”循环的下标别名index” open=”前缀是(” separator=”分隔符,” close=”后缀)”> |
#{item} |
</foreach> |
完整的正确的代码 |
<select id=” deleteByIds” resultType=”结果的类型比如一个pojo的class” > |
select * from 表名 <where> id in |
<foreach collection=”ids” item=”id” index=”index” open=”(” separatoe=”,” close=”)”> |
#{id} |
</foreach> </where> |