草庐IT

MyBatis实现动态SQL更新

博主记得在一个周五快下班的下午,产品找到我(为什么总感觉周五快下班就来活😂),跟我说有几个业务列表查询需要加上时间条件过滤数据,这个条件可能会变,不保证以后不修改,这个改动涉及到多个列表查询,于是博主思考了一会想了几种实现方案,最简单,直接将时间条件写死,由Service层传递给Dao层进行条件拼接。实现上虽然简单,但是代码上感觉非常low,如果这个参数需要在很多方法里进行传递,那么工作量就比较大。复杂一点,通过MyBatis的拦截器机制,在SQL拼接的prepare阶段修改SQL语句,实现动态SQL。考虑到拦截器机制不需要修改过多代码,因此本文博主将带领大家学习如何利用MyBatis拦截器机

mybatis-plus多表分页查询最佳实现(简单)

1.简介在MybatisPlus中,虽然IService接口帮我们定义了很多常用的方法,但这些都是T对象有用,如果涉及到多表的查询,还是需要自定义Vo对象和自己编写sql语句,MybatisPlus提供了一个Page对象,查询是需要设置其中的size字段和current字段的值。mybatis-plus的单表分页就不必多说了,那多表联查的分页该如何实现呢?其实也很简单,你只需要自己写好关联查询的sql再结合mybatis-plus提供的分页对象,就可以实现了。但是如何才能优雅的将分页参数和查询条件提供给mybatis-plus呢?我选择使用importcom.baomidou.mybatisp

Mybatis报错: Error querying database. Cause: java.lang.NumberFormatException: For input string: “A“

报错信息:Errorqueryingdatabase.Cause:java.lang.NumberFormatException:Forinputstring:“A”###Errorqueryingdatabase.Cause:java.lang.NumberFormatException:Forinputstring:"A"###Cause:java.lang.NumberFormatException:Forinputstring:"A" org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(M

Mybatis+Oracle批量插入方法总结

最近因为处理Oracle12cGBK字符集情况下特殊符号(如Ø等)的问题,无法使用mabatisPlus的saveBatch方法,需要在mapper.xml中手写方法,又受框架所限,有些语法不支持,耗费了几天时间,最终通过下面地第一种方式实现,特在此总结一下。方式一(可解决问题)语法insertintoTableA(column1,column2)(select#{column1},#{column2}fromdualunionallselect#{column1},#{column2}fromdual...)初次测试这种方式时,创建简单表可以实现,但在实际业务应用时,发现问题。union的两

个人博客-SpringBoot+Vue3项目实战(3)Springboot+Mybatis创建后端项目

目录前言快速安装MySQL后端项目创建(IDEA)1.NewProject2.配置项目参数3.选择SpringBo0ot版本和相关依赖4.检查pom.xml与mysql-connector-j5.删除无用文件6.更改配置文件类型并进行配置7.配置数据源8.添加Druid依赖(可选)测试代码🧨🧨🧨大家好,我是搞前端的半夏🧑,一个热爱写文的前端工程师💻.如果喜欢我的文章,可以关注➕点赞👍一起学习交流前端,成为更优秀的工程师~更多故事—点我探索新世界!🧨🧨🧨本专栏以搭建一个个人博客为目标,从前后端开发的开发,云服务的配置,到最后的打包上线。通过一个完整的项目,让小伙伴们建立起对前后端分离开发的整体认

个人博客-SpringBoot+Vue3项目实战(3)Springboot+Mybatis创建后端项目

目录前言快速安装MySQL后端项目创建(IDEA)1.NewProject2.配置项目参数3.选择SpringBo0ot版本和相关依赖4.检查pom.xml与mysql-connector-j5.删除无用文件6.更改配置文件类型并进行配置7.配置数据源8.添加Druid依赖(可选)测试代码🧨🧨🧨大家好,我是搞前端的半夏🧑,一个热爱写文的前端工程师💻.如果喜欢我的文章,可以关注➕点赞👍一起学习交流前端,成为更优秀的工程师~更多故事—点我探索新世界!🧨🧨🧨本专栏以搭建一个个人博客为目标,从前后端开发的开发,云服务的配置,到最后的打包上线。通过一个完整的项目,让小伙伴们建立起对前后端分离开发的整体认

Maven项目中使用Mybatis框架

一.准备一个空的Maven项目。二.配置pom文件,引入相关依赖。版本建议换成提示的更安全的版本-->mybatis插件-->dependency>groupId>org.mybatisgroupId>artifactId>mybatisartifactId>version>3.5.6version>dependency>mysql相关依赖-->dependency>groupId>mysqlgroupId>artifactId>mysql-connector-javaartifactId>version>8.0.33version>dependency>单元测试依赖-->dependency

Mybatis-Plus 进阶开发 -- Mybatis-Plus 入门教程(二)

文章目录前言五、CRUD进阶开发I1.mp日志简化(加快程序运行速度)2.条件查询的三种方式3.条件查询null判断4.查询投影5.映射匹配兼容性(@TableField()和@TableName())6.id生成策略(@TableId()或全局配置)7.多数据操作(_BatchIds())六、CRUD进阶开发II1.逻辑删除(@TableLogic()或者全局配置)2.乐观锁(@version)3.mp快速开发-代码生成器总结前言为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,

mybatis实现批量删除

批量删除主要需要注意接口处需要写上@Param()加上你自己定义的collection集合名称。实现批量删除主要分为三步骤一、写接口批量删除是一个数组,因此传入的参数是一个数组。但是之后使用的foreach标签里面的需要id识别,因此需要自己给这个数组加上一个名称。//批量删除voiddeleteById(@Param("idsss")int[]ids);二、写SQL语句主要就是foreach中的四个值。两个括号一个。一个集合,一个集合里的值。deleteid="deleteById">deletefromtb_brandwhereidinforeachcollection="idsss"it

MyBatis-Plus实现多表联查

MyBatis-Plus多表联查写法前言一、引依赖二、使用方法三、(实战)多表查询参数说明四、(实战)多表分页查询前言收获大佬封装的一个jar包,可以支持MyBatis-Plus多表联查,特此分享。一、引依赖注意:mybatisplusversion>=3.4.0com.github.yulichangmybatis-plus-join1.2.4二、使用方法mapper继承MPJBaseMapper(必选)service继承MPJBaseService(可选)serviceImpl继承MPJBaseServiceImpl(可选)三、(实战)多表查询MPJLambdaWrapperMap>mpj