MyBatis3 DynamicSql风格语法使用方法

  介绍

这篇文章主要介绍”MyBatis3 DynamicSql风格语法使用方法”,在日常操作中,相信很多人在MyBatis3 DynamicSql风格语法使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“MyBatis3 DynamicSql风格语法使用方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

主要演示DynamicSql风格代码如何使用,基本能应对大部分使用场景.DynamicSql基本介绍点我查看。

本文主要沿着增,删,改,查的思路进行介绍,尽量涵盖日常使用所需。

我这里还是要推荐一下大家看官方文档,尽量有问题先找官方文档教程,除非写的跟屎一样,但大概率不会。

本次使用的是mybatis-dynamic-sql1.2.1版本

& lt; !——,集成mybatis ——比;   & lt; dependency>   ,& lt; groupId> org.mybatis.spring.boot   ,& lt; artifactId> mybatis-spring-boot-starter   ,& lt; version> 2.1.3   & lt;/dependency>   & lt; dependency>   ,& lt; groupId> mysql   ,& lt; artifactId> mysql-connector-java   ,& lt; version> 8.0.22   & lt;/dependency>   & lt; !——, MyBatis 生成器,——比;   & lt; dependency>   ,& lt; groupId> org.mybatis.generator   ,& lt; artifactId> mybatis-generator-core   ,& lt; version> 1.4.0   & lt;/dependency>   & lt; !——, MyBatis 动态SQL支持,——比;   & lt; dependency>   ,& lt; groupId> org.mybatis.dynamic-sql   ,& lt; artifactId> mybatis-dynamic-sql   ,& lt; version> 1.2.1   & lt;/dependency>


查询我尽量贴上SQL语句对照着java代码,方便读者阅读和理解。

而且基本都实际运行过,确保没有问题。

查询指定列

SELECT    ,id、标签、value    得到;   以前,sys_dict import  static  com.twj.spirngbasics.server.mapper.SysDictDynamicSqlSupport。*,,//注意导入对应DynamicSqlSupport包的静态属性      SelectStatementProvider  selectStatement =, SqlBuilder.select (id,标签,,值)   从今以后才能(sysDict)   .build才能()   .render才能(RenderingStrategies.MYBATIS3);   List

下面完全等价于上面代码,推荐上方写法,代码更整洁。

SelectStatementProvider  selectStatement =, SqlBuilder.select (SysDictDynamicSqlSupport.id, SysDictDynamicSqlSupport.label,, SysDictDynamicSqlSupport.value)   从今以后才能(SysDictDynamicSqlSupport.sysDict)   .build才能()   .render才能(RenderingStrategies.MYBATIS3);   List

可以看到DynamicSql的使用结构完全与sql语句一样,真香。

查询所有列

SELECT    ,id、标签值,.......排序   得到;   以前,sys_dict SelectStatementProvider  selectStatement =, SqlBuilder.select (SysDictMapper.selectList)   从今以后才能(SysDictDynamicSqlSupport.sysDict)   .build才能()   .render才能(RenderingStrategies.MYBATIS3);   List

条件查询

选择   *大敌;   从   ,sys_dict    在哪里=,label  & # 39;男& # 39;,=,趁机label  & # 39;女& # 39;,   ORDER    ,“价值”ASC SelectStatementProvider  selectStatement =, SqlBuilder.select (SysDictMapper.selectList)   从今以后才能(SysDictDynamicSqlSupport.sysDict)   其中才能(标签,isEqualTo(“男“))   再或者才能(标签,isEqualTo(“女“))   .orderBy才能(值)   .build才能()   .render才能(RenderingStrategies.MYBATIS3);   List

java这里稍微注意一下,isEqualTo的包引用路径是在org.mybatis.dynamic.sql。SqlBuilder包下,可以像之前一样进口静态org.mybatis.dynamic.sql.SqlBuilder。*;引入所有静态方法。

排序:

<李>

升序:默认MySQL可以不加ASC即为升序排序,DynamicSql也是如此,指定列即可。

<李>

降序:调用下行()即可,以上方例子为例,原orderBy(值)改为orderBy (value.descending())即可。

选择   *大敌;   从   ,sys_dict    在哪里   ,label 拷贝(,& # 39;女& # 39;,,& # 39;男& # 39;,),   ORDER    以前,“价值”

MyBatis3 DynamicSql风格语法使用方法