
Mybatis
文章平均质量分 72
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJO映射成数据库中的记录。
No8g攻城狮
》博主介绍:全网粉丝23W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域
》技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。
》感兴趣的可以先关注收藏起来,在工作中、生活上等遇到相关问题都可以给我留言咨询,希望帮助更多的人。
展开
-
【Mybatis-plus】在mybatis-plus中 if test标签如何判断 list不为空
在 MyBatis-Plus 中,<if test="..."> 标签用于动态生成 SQL 语句。如果需要判断一个 List 是否不为空,可以使用以下方法:原创 2025-03-21 17:56:55 · 1250 阅读 · 7 评论 -
【异常解决】解决mybatis-plus分页查询默认最多查询500条记录的问题,真是个大坑啊
一、背景描述技术栈:Spring boot(2.1.5) + MyBatis-Plus(3.3.1)Springboot项目集成了Mybatis-plus,最近在做一个导出功能,数据库中有几千条数据,单页查询(pageSize < 500时)很正常,需求是把所有数据全部导出,但是每次导出的时候只能导出500条数据,根据经验推断,这里必定是一个坑,估计是源码里加了默认限制。二、问题原因查看源码:MyBatis-Plus低版本的PaginationInterceptor,定义了原创 2022-01-24 15:12:19 · 6001 阅读 · 6 评论 -
【Mybatis-Plus】mybatisplus更新时,实体字段为空,数据库不更新的解决方案
mybatisplus更新时,实体字段为空,数据库不更新的解决方案原创 2021-12-02 20:11:37 · 10061 阅读 · 8 评论 -
【Mybatis-plus异常】mybatis-plus updateById方法更新不了空字符串和null的解决方法
本文目录一、背景描述二、问题原因三、解决办法方式一:调整全局的验证策略方式二:调整字段验证注解方式三:使用 UpdateWrapper (3.x)一、背景描述项目所有技术栈,spring boot (2.1.5.RELEASE) + mybatis-plus (3.3.1.tmp) + 其他。重点是这里使用了 mybatis-plus。由于享受了懒人福利(不写或者少写sql语句),但是也或多或少的踩了一些别人没有踩到的坑。比如今天在使用 mybatis-plus upda原创 2021-09-06 17:42:48 · 7692 阅读 · 6 评论 -
【Java】Springboot整合多数据源配置
主要介绍两种整合方式,分别是 springboot+mybatis 使用分包方式整合,和 springboot+druid+mybatisplus 使用注解方式整合。https://www.cnblogs.com/nxzblogs/p/11849797.html原创 2021-08-05 18:05:12 · 3681 阅读 · 22 评论 -
【MybatisPlus异常】The SQL execution time is too large, please optimize
一、报错信息记录一下报错内容,方便对照哦Caused by: org.apache.ibatis.exceptions.PersistenceException: ### Error updating database. Cause: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: The SQL execution time is too large, please optimize ! ### The err原创 2021-06-02 14:46:11 · 7496 阅读 · 7 评论 -
sql injection violation, syntax error: syntax error, error in :‘**‘expect IDENTIFIER, actual IDENTIF
本文目录一、背景描述二、错误原因三、解决方案3.1 方案一3.2 方案二java.sql.SQLException: sql injection violation, syntax error: syntax error, error in :'soft YaHei UI'"><span style="color:', expect IDENTIFIER, actual IDENTIFIER pos 1935, line 5, column 1136, token IDE原创 2021-02-24 17:23:53 · 8969 阅读 · 8 评论 -
【Mybatis用法】Mybatis框架中一对一,一对多association和collection的使用举例方法
目录一、association 标签(一对一)二、association标签的使用一、association 标签(一对一)association通常用来映射一对一的关系,例如,有个类User,对应的实体类如下:(getter,setter方法省略)public class User { /** * 主键 */ private String id; /** * 用户姓名 */ private String user原创 2021-01-21 11:29:29 · 1020 阅读 · 12 评论 -
【Mybatis用法】Mybatis 高级结果映射,ResultMap Association,mybatis的一对多,多对一,以及多对多的配置和使用
本文目录一、背景描述二、解决方案一、背景描述需求:查询任务逾期记录时,把任务相关信息查询出来;表设计:任务相关信息是一张表(uoa_assignment),任务逾期记录是一张表(uoa_assignment_overdue_log);外键是任务主键(id);JavaBean:class Assignment, class AssignmentOverdueLog; class AssignmentOverdueLog中包含class Assignment对象。目的:在查询任务逾期原创 2020-10-29 16:43:22 · 922 阅读 · 5 评论 -
【MySQL用法】MySQL 中 datetime 和 timestamp 的区别与选择
本文目录一、区别1.1、占用空间1.2、表示范围1.3、时区二、选择在MySQL的使用过程中,经常用到的两个时间相关的类型分别为datetime和timestamp。如何在它们之间选择是建表时必要的考虑。下面汇总整理一下他们的区别和如何选择使用。一、区别1.1、占用空间1.2、表示范围timestamp 翻译为汉语即"时间戳",它是当前时间到 Unix元年(1970 年 1 月 1 日 0 时 0 分 0 秒)的秒数。对于某些时间的计算,如果是以 dateti原创 2020-10-20 13:14:53 · 1729 阅读 · 5 评论 -
【MySQL用法】MySQL中大于,大于等于,小于,小于等于的转义写法
由于在Mybatis框架的xml中,我们常用的大于(>)小于(<),大于等于(>=)小于等于(<=)解析的时候会经常出问题,导致编译报错,所以就需要对其进行转译才能通过。以下是我整理出来记录在这里方便以后使用,也希望能帮助用到的小伙伴哦~~~左边就是原来的符号,右边就是在mybatis中代替的符号原符号 Mybatis中替换的符号 备注 例子 > > A > B >= &.原创 2020-10-20 12:56:16 · 50038 阅读 · 5 评论 -
【Java异常】使用通用Mapper ,报There is no getter for property named ‘distinct‘ in ‘class 错
本文目录一、报错信息二、出错原因三、解决方案四、distinct属性一、报错信息Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'distinct' in 'class com.uiotsoft.subsite.mybatis.model.TCmsSite'二、出错原因selectByExample()方法传递的参数错误,应原创 2020-07-23 10:58:38 · 5851 阅读 · 7 评论 -
【Java异常】com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: can not use this method fo
本文目录一、问题描述二、问题原因三、解决方案项目背景描述:spring-boot (2.1.5) + mybatis-plus (3.3.1) + jdk8一、问题描述错误信息如下:Caused by: org.apache.ibatis.builder.BuilderException: Error evaluating expression 'ew != null ...原创 2020-04-23 20:18:34 · 47926 阅读 · 15 评论 -
【MySQL用法】MyBatis 多对多 中间表插入数据,添加记录后获取主键ID
1、需求内容有一个很常见的需求,即添加记录后获取添加后的主键ID,特别是在一次前端调用中需要插入多个表的场景。除了添加单条记录时获取主键值,有时候可能需要获取批量添加记录时各记录的主键值,MyBatis从3.3.1版本开始支持批量添加记录并返回各记录主键字段值。比如我在做这个员工管理系统的时候,由于user和role是多对多关系,且user主键是自增的,所有我们没办法提前知晓这个user_...原创 2020-02-27 13:06:28 · 3840 阅读 · 9 评论 -
【Mybatis异常】nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter
1、当入参为 string类型时 (包括java.lang.String.)我们使用#{xxx}引入参数,会抛异常There is no getter for property named 'XXX' in 'class java.lang.String'<select id="queryList" resultType="com.soft.back.model.OutdevFac...原创 2020-02-26 16:27:50 · 31590 阅读 · 9 评论 -
【MySQL用法】MySQL动态SQL语句标签的详细使用方法说明
目录动态SQL标签一、动态SQL片段1.1 sql 标签1.2 include 标签二、动态SQL标签2.1 select 标签2.2 insert 标签2.3 delete 标签2.4 update 标签三、配置 JAVA 对象属性与查询结果集中列名对应关系四、动态 sql 拼接4.1 if 标签4.2 foreach 标签4.3 choo...原创 2019-11-26 16:03:57 · 11101 阅读 · 10 评论 -
【SQL用法】Mybatis框架中的xml文件中经常使用的sql语句
项目中经常会用到的sql语句有:<!--保存用户信息--><insert id="save"> insert into mainsite_product_message <trim prefix="(" suffix=")" suffixOverrides=","> <if test="cus...原创 2019-11-06 18:17:19 · 1427 阅读 · 6 评论 -
【异常解决】解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题
目录1、错误现象:2、问题的本质:3、问题的原因:4、解决方法:1、错误现象:Invalid bound statement(not found): com.xxx.xxx.xxx.xxxMapper.save2、问题的本质:dao层(又叫mapper接口)跟mapper.xml文件没有映射。3、问题的原因:出现这种映射问题的原因分为以下几种,请挨个检查...原创 2019-11-06 15:37:28 · 3843 阅读 · 5 评论 -
【异常】nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘ids‘ not found.
nested exception is org.apache.ibatis.binding.BindingException: Parameter 'ids' not found.在MyBatis传入Array参数时,MyBatis报错:nested exception is org.apache.ibatis.binding.BindingException: Parameter 'ids'...原创 2019-05-05 14:39:10 · 21265 阅读 · 5 评论 -
Mybatis中,SpringMVC中,SpringBoot项目中,出现There is no getter for property named 'xxxxxx'报错的解决方法
现象:There is no getter for property named 'xxxxxx'报错原因:其实说起原因有很多种,百度上都有很详细的说明,其中最重要也是经常发生的就是mapper.xml与是对应的实体类匹配不上导致错误发生,而我报错的原因是从mapper接口中向xml传入参数的时候,传入的是实体类对象,只有这一个参数,而在从传入的参数中取值时我直接用对象.属性这样的方式取值,导...原创 2019-04-25 19:21:52 · 4203 阅读 · 8 评论 -
springboot整合mybatis中:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
如果出现:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)一般的原因是Mapper interface和xml文件的定义对应不上,需要检查包名,namespace,函数名称等能否对应上,需要比较细致的对比,这是第二次出现这种异常。我每次都是按照如下方法去逐一排查的,到最后都能解决问...原创 2019-03-16 19:20:39 · 5716 阅读 · 5 评论 -
mybatis中#{}与${}的区别
在学习mybatis框架的过程中,我们都知道动态 sql 是 mybatis 的主要特性之一,在 mapper 中定义的参数传到 xml 中之后,在查询之前 mybatis 会对其进行动态解析。mybatis 为我们提供了两种支持动态 sql 的语法:#{} 以及 ${}。那么它们之间的区别是什么呢?一、相同点: 用于指定传入参数的类型二、不同点:1. 使用#{}字符:表示一...原创 2019-01-03 23:44:45 · 657 阅读 · 9 评论