介绍查
这篇文章主要介绍”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 ,“价值”ASCSelectStatementProvider selectStatement =, SqlBuilder.select (SysDictMapper.selectList) 从今以后才能(SysDictDynamicSqlSupport.sysDict) 其中才能(标签,isEqualTo(“男“)) 再或者才能(标签,isEqualTo(“女“)) .orderBy才能(值) .build才能() .render才能(RenderingStrategies.MYBATIS3); Listjava这里稍微注意一下,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风格语法使用方法