mybatis的动态sql的一些记录
动态sql的作用:传统的使用JDBC的方法,相信大家在组合复杂的的SQL语句的时候,需要去拼接,稍不注意哪怕少了个空格,都会导致错误。Mybatis的动态SQL功能正是为了解决这种问题, 其通过 if, choose, when, otherwise, trim, where, set, foreach标签,可组合成非常灵活的SQL语句,从而提高开发人员的效率。
if :如果存在,就按照
choose-when-otherwise:从其中选择一项,类似于java的switch
where: 只会在至少有一个子元素的条件返回 SQL 子句的情况下才去插入“WHERE”子句
trim : 如果 where 元素没有按正常套路出牌,自定义 trim 元素来定制 where 元素的功能
foreach :是对一个集合进行遍历,通常用在in后
<include refid=""></include>,引用其他的动态sql片段
还有一篇写的很全的关于动态sql的博客,贴在下面:
https://www.cnblogs.com/dongying/p/4092662.html
mybatis的动态sql的一些记录相关推荐
- MyBatis的动态SQL详解
MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑. MyBatis中用于实现动态SQL的元素主要有: if choose(when,otherwis ...
- MyBatis中动态sql的模糊搜索、foreach实现In集合的用法
场景 在使用MyBatis的动态sql时,常见的是传递一个ID的数组,查询记录的 ID在这个数组中的记录和模糊搜索这两种场景. 注: 博客: https://blog.csdn.net/badao_l ...
- 9、mybatis中动态sql的使用
对于初学者,如何进行mybatis的学习呢?我总结了几点,会慢慢的更新出来.首先大家需要了解mybatis是什么.用mybatis来做什么.为什么要用mybatis.有什么优缺点:当知道了为什么的时候 ...
- 利用MyBatis的动态SQL特性抽象统一SQL查询接口
1. SQL查询的统一抽象 MyBatis制动动态SQL的构造,利用动态SQL和自定义的参数Bean抽象,可以将绝大部分SQL查询抽象为一个统一接口,查询参数使用一个自定义bean继承Map,使用映射 ...
- MyBatis 03 动态SQL
MyBatis 03 动态SQL 文章目录 MyBatis 03 动态SQL 一.学习目标 二.动态SQL if 标签2-1 if 标签2-2 where标签2-1 where 标签2-2 choos ...
- Mybatis解析动态sql原理分析
前言 废话不多说,直接进入文章. 我们在使用mybatis的时候,会在xml中编写sql语句. 比如这段动态sql代码: <update id="update" parame ...
- MyBatis中动态sql实现时间范围比较的查询
场景 前端传递两个时间参数,开始时间和结束时间,然后从数据库中筛选出某个时间属性在此范围的数据. Mybatis的动态sql的写法. 注: 博客: https://blog.csdn.net/bada ...
- MyBatis(三)——动态SQL
文章目录 1. 简介 2. 搭建环境 2.1 在MySQL中创建blog表 2.2 编写实体类 2.3 编写实体类对应Mapper接口 2.4 编写Mapper接口对应的Mapper.xml文件 2. ...
- java day55【 Mybatis 连接池与事务深入 、 Mybatis 的动态 SQL 语句、 Mybatis 多表查询之一对多 、 Mybatis 多表查询之多对多】...
第1章 Mybatis 连接池与事务深入 1.1 Mybatis 的连接池技术 1.1.1 Mybatis 连接池的分类 1.1.2 Mybatis 中数据源的配置 1.1.3 Mybatis 中 D ...
最新文章
- python 魔法参数*argv 和 **kw
- 20g的ubuntu虚拟机socket问题记录:只能单向通信(只能发出不能接收)
- Android Framework------之Keyguard 简单分析
- 三个值得期待的JavaScript新功能!
- excel中空格去不掉java_在Apache POI中跳过空白Excel单元格
- 作者:金海,博士,华中科技大学计算机科学与技术学院教授、博士生导师。...
- C Tricks(一)—— 一维数组变二维数组
- 【计算机网络】湖科大微课堂 笔记目录(完结)
- 李开复给大学生的第7封信:21世纪最需要的7种人才
- 简要介绍各种键盘布局
- 只会增删改查的程序员出路在哪里?
- 通用样式 -表格的每行的复选框选中打印
- U3d 实现 邮箱发送
- 2021年危险化学品经营单位安全管理人员考试内容及危险化学品经营单位安全管理人员考试资料
- 修改共享计算机主机名,怎么修改计算机的主机名,和所在的工作组
- java网页截图_java-selenium 实现网页截图
- 逆clarke变换_CLARKE 变换PARK 变换
- Eclipse代码注释配置(超详细)
- Docker常用的命令记录
- 离散数学-1 命题逻辑的基本概念