mybatis动态sql,条件判断详解示例
动态sql主要是解决我们进行条件查询时得应用,在之前我们需要对某个字段进行判断,直接在bao层实现类编写即可,因为它本身就是java类,写的Java代码,我们直接判断即可
但是使用XML得时候,我们得sql是写在xml中的,这样就无法编写代码,那么就可以使用动态sql
这里写目录标题
- 1、if
- 2、where
- 3、Choose标签
- 4、Set 标签
- 5、Trim标签
- 6、Foreach标签
- 7、Bind标签
- 8、sql
1、if
if其中test属性使用的得就是ognl表达式,他在获取字段得时候,可以直接获取,不用编写#{}
2、where
where标签,之前在拼接条件查询的字符,会通过where 1=1进行 无条件查询。那么通过这个标签,会自动在sql后面添加where关键字进行拼接,并自动忽略 第一个and
3、Choose标签
这个标签相当于if。。else if
4、Set 标签
这个标签主要用于修改
举例:
编写接口
之前我们在进行数据修改的时候,我们到最后无论改不改动,都会自动提交,那么效率相当于在做无用功
那么我们就需要对像中的每个字段进行调用
但这总编写的有一个错误,那就是如果我们只改了某一个值得话,那么另一个值虽然不会拼接,但是第一个条件语句有一个‘,’
但是又不能没有,所以无法避免这种情况
这个时候就可以使用set关键字了
这样就很好得解决问题
5、Trim标签
6、Foreach标签
需求:
当想要获得多个id得数据,sql应该是:
那我们 正常在程序中应该写
正常sql写法
但是我们想要操作,就需要用到forEach
其实我们在进行操作得时候,使用List,还有Array,都是存储在map中得,使用标签进行遍历
7、Bind标签
Bind标签主要用于模糊查询
模糊查询主要友两种方法,第一种是通过百分号,另一种是通过coucat
8、sql
在使用过程中,直接引入
如有帮助,请支持,一分不嫌少
mybatis动态sql,条件判断详解示例相关推荐
- MyBatis中动态sql语句标签详解
动态 SQL 通常写在mapper包下面的地址映射配置文件(.xml)中.根据条件的不同, SQL 语句也会随之动态的改变. MyBatis 中,提供了一组标签用于实现动态 SQL. 动态SQL语句标 ...
- mysql 动态sql 解析_MyBatis详解5.动态SQL
字节跳动飞书内推! 北京.杭州.武汉.广州.深圳.上海,六大城市等你来投. 感兴趣的朋友可以私我咨询&内推,也可以通过链接直接投递! 海量HC,极速响应,快来和我成为同事吧. 今日头条.抖音. ...
- SQL 函数 —— TRUNCATE详解示例
TRUNCATE(X,D) X 表示需要处理的数字,D 表示需要截取的位数.如果 D 为零,则返回的数字不含小数.D 也可以是负数,这样会把整数的部分置零. 示例如下: mysql> SELEC ...
- 一文详解Mybatis动态SQL,建议收藏
一文详解Mybatis动态SQL,建议收藏 1.动态 SQL 2.IF 3.choose.when.otherwise 4.where 5.set 6.trim 7.SQL片段 8.foreach 1 ...
- 详解mybatis动态SQL
什么是动态SQL? 动态 SQL 是 MyBatis 的强大特性之一.顾名思义,就是会动的SQL,即是能够灵活的根据某种条件拼接出完整的SQL语句.这种类似于MySQL中的 case when the ...
- MyBatis动态SQL详解
一:MyBatis动态 sql 是? 1.动态 SQL 是 MyBatis 的强大特性之一.在 JDBC 或其它类似的框架中,开发人员通常需要手动拼接 SQL 语句.根据不同的条件拼接 SQL 语句是 ...
- MyBatis动态SQL语法详解(二)
文章目录 一.MyBatis查询返回 1.1.MyBatis查询返回对象 1.2.MyBatis查询返回list集合 1.3.MyBatis查询返回Map 1.4.MyBatis查询自定义结果映射规则 ...
- mybatis注解动态sql_超全MyBatis动态SQL详解
MyBatis 令人喜欢的一大特性就是动态 SQL.在使用 JDBC 的过程中, 根据条件进行 SQL 的拼接是很麻烦且很容易出错的.MyBatis 动态 SQL 的出现, 解决了这个麻烦. MyBa ...
- 【java学习之路】(java框架)004.Mybatis SQL映射文件详解
02Mybatis SQL映射文件详解 在之前我们学习了mybatis的全局配置文件,下面我们开始学习mybatis的映射文件,在映射文件中,可以编写以下的顶级元素标签: cache – 该命名空 ...
- MyBatis list Contains MyBatis 动态SQL 判断List Contains
MyBatis list Contains MyBatis 动态SQL 判断List Contains 一.情景描述 在使用MyBatis 动态SQL查询时,有时候需要判断集合中是否有某个元素,若存在 ...
最新文章
- 第十五届全国大学生智能汽车竞赛ROS组车模线上比赛
- 为什么平衡对游戏数值策划如此重要
- android 按钮放中间,Android实现button居中的方法
- 2017.4.6AM
- DBCC--CHECKIDENT
- WARNING: Your kernel does not support swap limit capabilities. Limitation discarded.
- jenkins自动部署配置
- Docker - 容器编排工具 compose 之安装
- 用欧拉角表示旋转(方位)heading pitch bank 含义,形象的图示
- c语言dll注入进程,DLL注入--设置消息钩子
- 中兴新支点操作系统_中兴新支点操作系统
- MATLAB图像灰度图处理
- qPCR定量方法在肠道微生物特定种属定量应用
- Linux crontab 定时执行任务
- 嘉兴 机器人仓库 菜鸟_菜鸟在嘉兴推出全新智能仓 在“双11”启用超级机器人仓群...
- 整理苹果官网上iOS的各种辅助功能
- CF1463-C. Busy Robot
- wps生成正态分布的随机数_WPS中用excel做正态分析.doc
- PM、RD、QA、OP
- C#图像处理:在图片上写字,文字位置居中问题
热门文章
- EasyStack郭长波连任OpenStack基金会独立董事
- 【答题卡识别】基于matlab形态学答题卡识别【含Matlab源码 1135期】
- 【采集读写】基于matlab语音采集与读写【含Matlab源码 538期】
- cocos creator 数组_5Cocos Creator 脚本简介
- php 的主要功能和特点,PHPMailer的主要功能特点和简单使用说明
- 四种依恋类型_你们之间的爱情是哪种类型 | 爱情依恋关系测评
- Python:批量修改图片的后缀名(模板)
- allegro中10mil过孔_Allegro中增加过孔的方法
- C++ map, 运用map统计单词出现的次数
- 关系抽取;串联抽取和联合抽取论文总结