
ORM框架
JPA、Mybatis、Mybatis-Plus
旭东怪
这个作者很懒,什么都没留下…
展开
-
Mybatis-Plus SQLFeatureNotSupportedException: getObject with type问题解决
Error attempting to get column 'modify_time' from result set. Cause: java.sql.SQLFeatureNotSupportedException: getObject with type; getObject with type; nested exception is java.sql.SQLFeatureNotSupportedException: getObject with type, stackTraceorg.spri原创 2023-03-26 18:15:09 · 3224 阅读 · 0 评论 -
Mybatis 自定义LocalDateTime类型处理器handler
人生低谷不可怕,可怕的是坚持不到人生转折点的那一天。重写LocalDateTimeTypeHandler ,解决shardingsphere + mybatis LocalDateTime转换问题。旭东怪的个人空间-旭东怪个人主页-哔哩哔哩视频。原创 2023-03-25 09:09:47 · 2840 阅读 · 0 评论 -
Java ClassCastException: xxx cannot be cast to xxx 问题4种情况解决(Java、EasyPoi、JFreeChart、EasyExcel)
问题描述:java.lang.ClassCastException:java.util.HashMap$KeySetcannotbecasttojava.util.List问题分析:1、Set不能直接强转为List,强转会报错。Map<String, Integer> map= new HashMap<>();List<String> list= (List<String>) map.keySet();解决办法:使用new ...原创 2021-06-30 09:26:44 · 13603 阅读 · 1 评论 -
MybatisPlus UncategorizedSQLException: Error attempting to get column ‘xxx‘ from result set问题解决
2、使用MybatisPlus自带的查询方法,entity实体类没有设置setter/getter方法,导致查询结果无法返回给实体类。1、使用MybatisPlus自带的查询方法,entity实体类没有设置无参构造方法,导致查询结果无法返回给实体类。解决办法:添加@lombok.NoArgsConstructor注解即可。旭东怪的个人空间-旭东怪个人主页-哔哩哔哩视频。原创 2022-12-10 11:00:43 · 3832 阅读 · 0 评论 -
MyBatis-Plus MybatisPlusException: Error: Method queryTotal execution error of sql问题解决
问题描述:com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Error: Method queryTotal execution error of sql :SELECT COUNT(1) FROM ( SELECT DISTINCT * FROM sys_userWHERE sys_user.del_flag = 0 ) TOTAL问题分析:1、由于之前一直使用测试环境,后面改用uat环境,但是有些表属于后面新增..原创 2022-05-14 18:26:41 · 7176 阅读 · 0 评论 -
MySQL SQLException: Data truncated for column ‘xxx‘ at row 1问题解决
问题描述:Cause: java.sql.SQLException: Data truncated for column 'modify_by_id' at row 1问题分析:1、modify_by_id字段类型为bigint,但是更新值类型为datetime,导致报错。问题解决:检查更新值类型,使更新值类与原有字段类型保持一致即可。...原创 2022-03-31 09:03:30 · 2881 阅读 · 0 评论 -
MyBatis Error resolving class.Could not resolve type alias ‘xxx‘.Cannot find class:xxx问题描述
问题描述:Caused by: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'com.UserEntity'. Cause: java.lang.ClassNotFoundException: Cannot find class: com.UserEn...原创 2021-11-13 09:18:31 · 2069 阅读 · 0 评论 -
MyBatis 4种参数绑定方式(默认参数绑定,@Param注解参数绑定,parameterType参数绑定,自定义类参数绑定)
1默认参数绑定默认Mapper映射文件中的变量名只能是 #{arg0},#{arg1} ...或者是#{param1},#{param2} ...。其中arg变量名从0开始,param变量名从1开始。1.1 UserMapper.java /** * 获取用户信息 * * @param username 用户名 * @param password 变量名 * @return */ List<Use...原创 2021-11-02 21:03:25 · 5540 阅读 · 0 评论 -
MyBatis IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String问题解决
问题描述:java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String问题分析:1、由于参数startTime和endTime都是Date类型的数据,在MyBatis标签里面进行!=''判断会将日期转为字符串,导致报错。 <if test="startTime!=null and startTime!='' and endTime!=...原创 2021-11-07 22:33:42 · 1656 阅读 · 2 评论 -
MyBatis-Plus java.lang.IllegalArgumentException:argument type mismatch问题解决
问题描述:java.lang.IllegalArgumentException:argument type mismatch问题分析:1、设置自动字段填充时,字段的类型和字段填充值的类型不一致,导致报错。 /** * 插入元对象字段填充(用于插入时对公共字段的填充) * * @param metaObject 元对象 */ @Override public void insertFill(MetaObject ...原创 2021-11-04 18:35:07 · 2231 阅读 · 0 评论 -
MyBatis Mapped Statements collection already contains value for xx.please check file [x]
问题描述:Caused by: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for com.mapper.UserMapper.getUserList. please check file [D:\idea 2015\springsecuritydemon\target\classes\mapper\UserMapper.xml] and file [D:\...原创 2021-11-01 19:35:14 · 628 阅读 · 1 评论 -
JPA javax.persistence.TransactionRequiredException: Executing an update/delete query问题解决
问题描述:javax.persistence.TransactionRequiredException: Executing an update/delete query问题分析:1、JPA使用Query.executeUpdate()方法对数据库进行更新时,没有添加@Transactional事务注解,导致insert、update、delete语句无法执行。package com.dao;import org.springframework.stereotype.Repositor原创 2021-10-17 11:19:13 · 6234 阅读 · 0 评论 -
Java ReflectionException:Error parsing property name ‘xx‘.Didn‘t start with ‘is‘, ‘get‘ or ‘set‘问题解决
问题描述:org.apache.ibatis.reflection.ReflectionException: Error parsing property name 'lambda$getUserByName$e0481c48$1'. Didn't start with 'is', 'get' or 'set'.问题分析:1、MyBatis-Plus的条件构造器常用方法不支持lambda表达式传参,如果使用lambda表达式传参将会导致反射失败。 /** ...原创 2021-10-14 13:50:49 · 5726 阅读 · 2 评论 -
MyBatis Expected one result (or null) to be returned by selectOne(), but found问题解决
问题描述:org.mybatis.spring.MyBatisSystemException:nestedexceptionisorg.apache.ibatis.exceptions.TooManyResultsException:Expectedoneresult(ornull)tobereturnedbyselectOne(),butfound:2问题分析:1、当前查询方法定义了只能返回一条数据,但是查询结果却返回了多条数据,导致报错。...原创 2021-10-12 22:31:24 · 8197 阅读 · 0 评论 -
Java Deadlock found when trying to get lock;try restarting transaction问题解决
问题描述:com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction问题分析:1、连续多次执行delete语句并且语句中有索引字段,会将索引锁住,导致执行delete语句失败。解决办法:在执行delete语句之前先查询一遍,保证delete语句会删除数据,减少执行不必要的delete语句。原创 2021-10-05 22:40:47 · 2509 阅读 · 0 评论 -
Java com.microsoft.sqlserver.jdbc.SQLServerException: 从字符串转换日期和/或时间时,转换失败问题解决
问题描述:SQLException: com.microsoft.sqlserver.jdbc.SQLServerException: 从字符串转换日期和/或时间时,转换失败。 Msg 241, Level 16, State 1, 从字符串转换日期和/或时间时,转换失败。问题分析:1、在SQL Server中datetime类型的值跟varchar类型的值比较,会将varchar类型的值先转为datetime类型,这样会报错。select * from t_users where 1=1原创 2021-08-11 14:24:04 · 7903 阅读 · 0 评论 -
Java com.microsoft.sqlserver.jdbc.SQLServerException: 无法绑定由多个部分组成的标识符 “xxx“问题解决
问题描述:com.microsoft.sqlserver.jdbc.SQLServerException: 无法绑定由多个部分组成的标识符 "b.username"。问题分析:1、当前表别名不存在导致报错。select b.usernamefrom users a解决办法:使用正确的表别名即可。select a.usernamefrom users a...原创 2021-08-18 14:39:57 · 1482 阅读 · 0 评论 -
Java java.sql.SQLException: Field ‘xxx‘ doesn‘t have a default value
问题描述:Causedby:java.sql.SQLException:Field'username'doesn'thaveadefaultvalue问题分析:1、数据库表字段username设置了不能为null,但是写入数据时username的值为null,导致报错。解决办法:(1)写数据不变,数据库表字段username设置为允许为null。(2)数据库表字段不变,写数据是username的值不为null。...原创 2021-08-30 17:46:18 · 13169 阅读 · 0 评论 -
Spring Boot配置MySQL5和MySQL8
1、Spring Boot配置MySQL5pom.xml:<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.17</version> <scope>runtime</scope></dependency>原创 2020-06-12 18:39:14 · 4023 阅读 · 0 评论 -
Java null, message from server: “Host ‘xxx‘ is not allowed to connect to this MySQL server“文件解决
问题描述:java.sql.SQLException: null, message from server: "Host 'DESKTOP-107D65V' is not allowed to connect to this MySQL server"问题分析:1、root用户只能使用localhost连接,不能使用局域网或外网IP连接。解决办法:第一步,进入sql。第二步,输入use mysql;,选择数据库。第三步,输入update user set host='%'..原创 2021-03-17 17:40:33 · 7580 阅读 · 0 评论 -
Java MysqlDataTruncation: Data truncation: Out of range value for column ‘xxx‘ at row 1问题解决
问题解决:Caused by: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Out of range value for column 'height' at row 1问题分析:1、height为double类型时,长度等于小数位,导致报错。解决办法:长度大于小数位即可。...原创 2021-07-15 14:21:04 · 5989 阅读 · 0 评论 -
MyBatis-Plus Page类的total值为0问题解决
问题描述:Page类records能查询到数据,但是total值一直为0。问题分析:1、没有创建MybatisPlusInterceptor(MyBatisPlus分页拦截器)实例,导致total值一直为0。解决办法:创建MybatisPlusInterceptor实例。具体解决办法请查看以下博客。MyBatis-Plus 实现2种分页方法(QueryWrapper查询分页、SQL查询分页)_旭东怪的博客-CSDN博客https://blog.csdn.net/qq_389746原创 2021-09-28 09:02:08 · 19458 阅读 · 1 评论 -
Java java.sql.SQLSyntaxErrorException: Unknown column ‘xxx‘ in ‘where clause‘
问题描述:java.sql.SQLSyntaxErrorException: Unknown column 'user_name' in 'where clause'问题分析:1、where语句里面出现不存在的字段名。select username,password from userswhere user_name = '123';解决办法:仔细检查where语句确保里面没有不存在的字段名。select username,password from userswhe原创 2021-09-26 17:16:18 · 6756 阅读 · 0 评论 -
Java java.sql.SQLSyntaxErrorException:Duplicate column name ‘xxx‘问题解决
问题描述:java.sql.SQLSyntaxErrorException: Duplicate column name 'username'; bad SQL grammar [];问题分析:1、建表语句中设置索引的字段出现了两个username。 CREATE TABLE users( `username` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT原创 2021-09-25 22:35:25 · 6795 阅读 · 0 评论 -
Java All parts of a PRIMARY KEY must be NOT NULL;if you need NULL in a key,use UNIQUE instead问题解决
问题描述:Cause: java.sql.SQLSyntaxErrorException: All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead问题分析:1、设为主键的字段设置了可以为null。 CREATE TABLE users( `username` varchar(20) CHARACTER SET utf8 COLL原创 2021-09-23 21:07:58 · 9173 阅读 · 0 评论 -
Java Communications link failure.The last packet successfully received from the server was问题解决
问题描述:com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure问题分析:1、数据库已关闭当前连接,导致报错。原创 2021-09-24 10:53:18 · 8807 阅读 · 1 评论 -
Java Can not read response from server.Expected to read bytes,read bytes before connection问题解决
问题描述:Cause: java.sql.SQLException: Can not read response from server. Expected to read 102 bytes, read 99 bytes before connection was unexpectedly lost问题分析:1、mysql数据库的等待时长小于项目配置的最大等待时长,导致报错。解决办法:(1)数据库等待时长不变,项目的最大等待时长设为28800。(2)项目的最大等待时..原创 2021-09-20 22:59:50 · 14813 阅读 · 1 评论 -
Spring Boot配置QueryDSL(生成Query查询实体类,查询数据)
1 QueryDSLQueryDSL仅仅是一个通用的查询框架,专注于通过Java API构建类型安全的SQL查询。Querydsl可以通过一组通用的查询API为用户构建出适合不同类型ORM框架或者是SQL的查询语句,也就是说QueryDSL是基于各种ORM框架以及SQL之上的一个通用的查询框架。借助QueryDSL可以在任何支持的ORM框架或者SQL平台上以一种通用的API方式来构建查询。目前QueryDSL支持的平台包括JPA,JDO,SQL,J...原创 2021-09-14 14:33:23 · 5375 阅读 · 4 评论 -
JPA 使用SQL语句查询数据的两种方式(@Query注解、EntityManager类)
1 Maven配置 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</grou原创 2021-09-11 12:38:17 · 3481 阅读 · 1 评论 -
Java java.sql.SQLIntegrityConstraintViolationException:Duplicate entry ‘xx‘ for key ‘xx‘问题解决
问题描述:Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '111' for key 'users.PRIMARY'问题分析:1、要插入的数据里面存在主键重复的情况,导致报错。解决办法:检查导致插入数据主键重复的原因,保证主键唯一即可。...原创 2021-09-10 17:10:40 · 6129 阅读 · 0 评论 -
Java Data truncation:Incorrect xxx value: ‘xxx‘ for column ‘xxx‘ at row 1问题
Caused by: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Incorrect datetime value: '2020-01' for column 'create_date' at row 1原创 2021-06-17 16:20:35 · 2957 阅读 · 0 评论 -
Java SQLSyntaxErrorException: Key column ‘xxx‘ doesn‘t exist in table问题解决
问题描述:Cause: java.sql.SQLSyntaxErrorException: Key column 'user_name' doesn't exist in table问题分析:1、设置主键的字段名称在表格中不存在,导致报错。 CREATE TABLE users( `username` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户名原创 2021-09-10 16:33:47 · 8794 阅读 · 0 评论 -
MyBatis-Plus Error attempting to get column ‘x‘ from result set.Cannot convert x ‘x‘ to x value问题解决
问题描述:org.springframework.dao.DataIntegrityViolationException: Error attempting to get column 'create_by' from result set. Caused by: com.mysql.cj.exceptions.DataConversionException: Cannot convert string '190166495383662592' to java.sql.Timestamp value原创 2021-09-09 09:21:48 · 1356 阅读 · 1 评论 -
JPA Failed to create query for method public abstract;No property xxx found for type xxx问题解决
问题描述:Caused by: java.lang.IllegalArgumentException: Failed to create query for method public abstract java.util.List com.dao.UserRepository.getUserEntityListByUsernameGreaterThanEquals(java.lang.String)! No property greaterThan found for type String! Tra原创 2021-09-08 21:57:09 · 6178 阅读 · 0 评论 -
JPA 根据解析方法名自定义查询方法(逻辑判断、相等判断、范围判断、非空判断、模糊匹配、in判断、布尔值判断、排序)
1方法签名方法签名由动词+主题+关键词+断言+限制条件组成。package com.dao;import com.entity.UserEntity;import org.springframework.data.jpa.repository.JpaRepository;import org.springframework.data.jpa.repository.JpaSpecificationExecutor;import org.springframework.stereotype.原创 2021-09-08 21:44:14 · 2132 阅读 · 0 评论 -
JPA 内置方法使用(保存方法、删除方法、查询方法)
1 保存方法1.1 save()保存单条数据,存在则更新,不存在则插入。 /** * 保存用户 * * @param userEntity 用户信息 * @return */ public UserEntity save(UserEntity userEntity) { return userRepository.save(userEntity); }1.2saveAll()批量保存数据,存在则更.原创 2021-09-04 11:30:08 · 3157 阅读 · 0 评论 -
JPA Error creating bean with name defined in class path resource;Invocation of init method fail问题解决
问题描述:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method原创 2021-09-01 19:17:43 · 2739 阅读 · 1 评论 -
JPA Could not load requested class;Unable to resolve name [x] as strategy[x]问题解决
问题描述:Caused by: java.lang.ClassNotFoundException: Could not load requested class : mysqlCaused by: org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [mysql]Caused by: org.hibernate.boot.registry.selector.spi.Strat原创 2021-09-01 19:15:18 · 2296 阅读 · 0 评论 -
JPA org.hibernate.service.spi.ServiceException: Unable to create requested service [xxx]问题解决
问题描述:Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]问题分析:1、Spring Boot配置里面没有设置数据库类型,导致报错。解决办法:(1)使用spring.datasource.platform设置数据库类型。spring.datasourc原创 2021-09-01 19:12:54 · 3115 阅读 · 0 评论 -
MyBatis-Plus 内置方法使用(插入方法、更新方法、插入或更新方法、删除方法、查询方法)
1 插入方法1.1 save()插入单条数据。 /** * 使用内置方法save(插入) * * @return */ @PostMapping("/save") public boolean save(@RequestBody UserEntity userEntity) { return userService.save(userEntity); }1.2 saveBatch()批量插入数据。原创 2021-08-31 20:32:06 · 20096 阅读 · 7 评论