mybatis动态SQL语句
2015-08-22 03:41
253 查看
一 if标签
?
二 where标签
?
如果它包含的标签中有返回值的话就插入一个where。此外如果标签返回的内容是以AND或OR开头的,则它会剔除掉。
三 set 标签
使用set+if标签修改后,如果某项为null则不进行更新,而是保持数据库原值
?
四 trim标签
trim是更灵活的去处多余关键字的标签,他可以实践where和set的效果,where例子的等效trim语句
?
set例子的等效trim语句
?
五 choose (when, otherwise)
有时候并不想应用所有的条件,而只是想从多个选项中选择一个。MyBatis提供了choose 元素,按顺序判断when中的条件出否成立,如果有一个成立,则choose结束。当choose中所有when的条件都不满则时,则执行otherwise中的sql。类似于Java 的switch语句,choose为switch,when为case,otherwise则为default。
?
六 foreach
对于动态SQL 非常必须的,主是要迭代一个集合,通常是用于IN 条件。List实例将使用“list”做为键,数组实例以“array”做为键。
1 参数为list实例的写法
SqlMapper.xml
?
Java
?
2 参数为Array实例的写法
SqlMapper.xml
?
Java
?
转载自:http://my.oschina.net/ydsakyclguozi/blog/270322
?
?
三 set 标签
使用set+if标签修改后,如果某项为null则不进行更新,而是保持数据库原值
?
trim是更灵活的去处多余关键字的标签,他可以实践where和set的效果,where例子的等效trim语句
?
?
有时候并不想应用所有的条件,而只是想从多个选项中选择一个。MyBatis提供了choose 元素,按顺序判断when中的条件出否成立,如果有一个成立,则choose结束。当choose中所有when的条件都不满则时,则执行otherwise中的sql。类似于Java 的switch语句,choose为switch,when为case,otherwise则为default。
?
对于动态SQL 非常必须的,主是要迭代一个集合,通常是用于IN 条件。List实例将使用“list”做为键,数组实例以“array”做为键。
1 参数为list实例的写法
SqlMapper.xml
?
?
SqlMapper.xml
?
?
相关文章推荐
- MyBatis参数传入集合之foreach动态sql
- MyBatis的动态SQL详解
- 简单介绍redis以及ubuntu和windows下如何安装redis和配置文件详解
- MySQL重置root密码的方法
- 数据库集群
- MySQL安装图解_学习笔记
- 用PL/SQL语言编写一程序,实现按部门分段统计各个工资段的职工人数、以及各部门的工资总额
- oracle mysql sqlserver 分页查询
- Mysql 分页语句Limit用法
- ORACLE11G 将dataguard的rman备份恢复到测试环境的单机oracle中的详细过程
- MongoDB学习五--MongoDB修改数据文档
- SQL语句练习
- Redis(7)Creating and Using Cluster Mode
- sqlite3 journal
- ORACLE RMAN下针对带库设备的操作
- Oracle 学习之 SQL(二) Restricting and Sorting Data
- mysql实现ORACLE的connect by prior父子递归查询
- redis cluster 集群重启关闭
- oracle net configuration assistant 相关概念汇总
- 创建mysql数据库并指定编码