Mybatis中的动态sql
(尊重劳动成果,转载请注明出处:https://blog.csdn.net/qq_39778516/article/details/84144213 consistencely的博客)
1.动态sql
通过mybatis提供的各种标签方法实现动态拼接sql。
需求:根据性别和名字查询用户
1.1 If标签
Mapper.xml文件
注意字符串类型的数据需要要做不等于空字符串校验。
1.2 Where标签
上面的sql还有where 1=1 这样的语句,很麻烦,可以使用where标签进行改造
改造UserMapper.xml,如下
1.3 sql片段
Sql中可将重复的sql提取出来,使用时用include引用即可,最终达到sql重用的目的。
把上面例子中的id, username, birthday, sex, address提取出来,作为sql片段,如下:
1.4. foreach标签
向sql传递数组或List,mybatis使用foreach解析,如下:
根据多个id查询用户信息
查询sql:
SELECT * FROM user WHERE id IN (1,10,24)
1.4.1. 改造QueryVo
如下图在pojo中定义list属性ids存储多个用户id,并添加getter/setter方法
1.4.2 Mapper.xml文件
UserMapper.xml添加sql,如下
1.4.3 测试方法
Mybatis中的动态sql
最新推荐文章于 2024-09-22 14:27:31 发布