Mybatis基于xml的动态sql实现
动态sql可以很方便的拼接sql语句,主要用于复合条件查询;
主要通过这几个标签实现:
if 标签:
使用if标签判断参数,可以使用where 1=1,后面跟上if标签,这样可以避免因为‘and’导致sql语句冲突;
where 标签
由于使用where 1=1 对查询性能也有一定的影响;可以使用where嵌套 if 标签,可以不需要使用上面“where 1=1”;
where标签会自动过滤掉if标签里sql语句的第一个and连接词;
作用:用来简化SQL语句中的where条件,可以嵌套其他标签;
choose标签:
表示:
当查询条件有name时,不管有没有age,都只按name查询;
当查询条件没有name时,才按age进行查询;
当name和age都没有时,查询不到任何数据。
作用:类似于switch语句,选择多个条件中的一个;
foreach标签:
foreach用来遍历,遍历的对象可以是数组,也可以是集合。
属性:
collection可以指定遍历对象的类型:array,list
item是指定的集合中每一个元素迭代时候的别名;
separator表示在每次进行迭代之间以什么符号作为分隔符;
open表示该语句以什么开始,close表示以什么结束;
表示遍历一个数组,迭代别名为id;
遍历一个list集合;
posted on 2019-10-18 17:43 passionConstant 阅读(874) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程