idea运行Mybatis项目出现的常见错误(编码错误等)

简介: idea运行Mybatis项目出现的常见错误(编码错误等)

问题描述及解决方案

1、java.lang.ExceptionInInitializerError....The error may exist in UserMapper.xml

### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource UserMapper.xml

e8e3b250f5dc5d06d4ecfeb531a51b96_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5YWo5p2R56ys5LqM5biF,size_20,color_FFFFFF,t_70,g_se,x_16.png

解决方案:



2、动态查询之foreach报错:

解决方案:


3、运行第一个Mybatis项目时报错:

解决方案:

1)主要是编码方式出现问题,文件和工程编码方式均改为UTF-8即可

2)可能xml配置文件中有中文注释,可删除中文注解或将xml编码方式由UTF-8改为UTF8,问题就没了


4、变量属性名与数据库的字段名不一致导致下列错误:

解决方案:


5、所有的配置没问题时,查询的数据库却为空,首先可以确定的是配置没问题,数据库连接也没有问题,那就可能是数据读取有问题了:

解决方案: 还是变量属性名与数据库的字段名不一致(全为null,说明你一个都没匹配上,晕~),所以养成一个良好的编程习惯很重要,存在三种可以解决的方案

1)去实体类修改set方法,Mybatis是通过set方法进行查询的,所以只需要修改set方法就可以查询得到(不推荐使用)

2)给数据库字段名取别名(字段少的时候推荐使用)

<select id="queryById" resultType="user">
        select userid as id, username as name, password
        from mybatis.user
        where userid = #{id}
    </select>

3)结果集映射ResultMap(推荐使用)

<resultMap id="allUser" type="user">
        <!--column数据库中的字段,property实体类中的属性-->
        <result column="username" property="name"/>
        <result column="userid" property="id"/>
    </resultMap>
    <select id="getAllUserList" resultMap="allUser">
        select *
        from mybatis.user;
    </select>


6、org.apache.ibatis.exceptions.PersistenceException:

### Error querying database.  Cause: java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed

### The error may exist in com/dao/UserMapper.xml

### The error may involve com.dao.UserMapper.getUerList

### The error occurred while executing a query

### Cause: java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed

解决方案:useSSL建立了不安全的连接,系统不允许检索公钥


7、org.apache.ibatis.exceptions.PersistenceException:

### Error querying database.  Cause: org.apache.ibatis.reflection.ReflectionException: Error instantiating class com.pojo.Employees with invalid types (int,String,String,String,String,String,Double,Double,int,int,Date) or values (100,Steven,K_ing,SKING,515.123.4567,AD_PRES,24000.0,null,null,90,Fri Apr 03 00:00:00 SGT 1992). Cause: java.lang.IllegalArgumentException

947cd4b225bdf8624601ce4eeb05dc88_watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5YWo5p2R56ys5LqM5biF,size_20,color_FFFFFF,t_70,g_se,x_16.png

解决方案:在确定配置没有问题后,出现非法参数异常 。问题出在具体实例无法初始化,通过查阅相关资料,得知mybatis在初始化对象时,需要用无参构造方法加载属性,所以在实体类中加上无参构造方法就正常了。


8、Error updating database.  Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '9' for key 'PRIMARY'

解决方案: id为9的主键重复了,可能同一插入操作进行了两次,修改id即可


9、无效绑定状态

解决方案:在使用或者时,映射文件名必须和接口名一样,否者报错。使用时,两者不同名不会报错。


后续遇到错误会继续更新.....

相关文章
|
1月前
|
人工智能 JavaScript Java
在IDEA中借助满血版 DeepSeek 提高编码效率
通义灵码2.0引入了DeepSeek V3与R1模型,新增Qwen2.5-Max和QWQ模型,支持个性化服务切换。阿里云发布开源推理模型QwQ-32B,在数学、代码及通用能力上表现卓越,性能媲美DeepSeek-R1,且部署成本低。AI程序员功能涵盖表结构设计、前后端代码生成、单元测试与错误排查,大幅提升开发效率。跨语言编程示例中,成功集成DeepSeek-R1生成公告内容。相比1.0版本,2.0支持多款模型,丰富上下文类型,具备多文件修改能力。总结显示,AI程序员生成代码准确度高,但需参考现有工程风格以确保一致性,错误排查功能强大,适合明确问题描述场景。相关链接提供下载与原文参考。
507 160
在IDEA中借助满血版 DeepSeek 提高编码效率
|
1月前
|
Java 应用服务中间件 API
Servlet开发流程 (里面有Idea项目添加Tomcat依赖详细教程)
本文详细介绍了Servlet的开发流程,包括在IntelliJ IDEA中添加Tomcat依赖的详细教程。通过上述步骤,开发者可以快速搭建并运行一个基本的Servlet应用,理解并掌握Servlet的开发流程对于Java Web开发至关重要。希望本文能够帮助开发者顺利进行Servlet开发,提高工作效率。
176 78
|
27天前
|
人工智能 JavaScript Java
如何在IDEA中借助深度思考模型 QwQ 提高编码效率?
通义灵码目前已经支持 QwQ-plus 模型,欢迎大家在【智能问答】里,选择切换模型,即可体验更小尺寸、更强性能的新模型!
|
2月前
|
Java Maven
Idea配置项目的热启动
Idea配置项目的热启动
129 5
Idea配置项目的热启动
|
4月前
|
Java Spring
【Spring配置】idea编码格式导致注解汉字无法保存
问题一:对于同一个项目,我们在使用idea的过程中,使用汉字注解完后,再打开该项目,汉字变成乱码问题二:本来a项目中,汉字注解调试好了,没有乱码了,但是创建出来的新的项目,写的注解又成乱码了。
|
6月前
|
搜索推荐 Java 数据库连接
Java|在 IDEA 里自动生成 MyBatis 模板代码
基于 MyBatis 开发的项目,新增数据库表以后,总是需要编写对应的 Entity、Mapper 和 Service 等等 Class 的代码,这些都是重复的工作,我们可以想一些办法来自动生成这些代码。
93 6
|
6月前
|
缓存 IDE Java
idea的maven项目打包时没有source下的文件
【10月更文挑战第21天】idea的maven项目打包时没有source下的文件
384 1
|
6月前
|
Java Maven Spring
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
这篇文章介绍了在IntelliJ IDEA社区版中创建Spring Boot项目的三种方法,特别强调了第三种方法的详细步骤。
4984 0
springboot学习一:idea社区版本创建springboot项目的三种方式(第三种为主)
|
1月前
|
XML Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于注解的整合
本文介绍了Spring Boot集成MyBatis的两种方式:基于XML和注解的形式。重点讲解了注解方式,包括@Select、@Insert、@Update、@Delete等常用注解的使用方法,以及多参数时@Param注解的应用。同时,针对字段映射不一致的问题,提供了@Results和@ResultMap的解决方案。文章还提到实际项目中常结合XML与注解的优点,灵活使用两者以提高开发效率,并附带课程源码供下载学习。
37 0
|
3月前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
145 2

热门文章

最新文章