学习mybatis框架中遇到org.apache.ibatis.exceptions.PersistenceException: 问题解决


  1. org.apache.ibatis.exceptions.PersistenceException:   
  2. ### Error building SqlSession.  
  3. ### The error may exist in cn.itcast.mybatis.mapper/UserMapper.xml  
  4. ### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource cn.itcast.mybatis.mapper/UserMapper.xml  
  5.     出现这个问题大多数都是找不到映射文件,这和没有遵循mybatis的mapper代理配置规范有关,对于我这个问题仔细看java.io.IOException:Could not find resource   
  6. cn.itcast.mybatis.mapper/UserMapper.xml,就是文件读写出现问题,系统找不到这个文件,需要检查,mapper接口与映射的mapper.xml 的命名是否一致,是否在同一目录下。  
  7. 如果还没解决就在看SqlMapConfig.xml配置文件加载mapper接口文件的路径有没有错误,一般有两种方试,第一扫描类<mapper class=:"类路径和类名"/>第二种批量扫描加载:选择扫描包<package name="包名"/>经过不懈努力问题终于解决。

  8. 开发mybatis时要注意四点开发规范:  
  9. 1、在mapper.xml中namespace等于mapper接口地址  
  10. 2、mapper.java接口中的方法名和mapper.xml中statement的id一致  
  11.    
  12. 3、mapper.java接口中的方法输入参数类型和mapper.xml中statement的parameterType指定的类型一致。  
  13.    
  14. 4、mapper.java接口中的方法返回值类型和mapper.xml中statement的resultType指定的类型一致。


原文地址:http://blog.csdn.net/lkwan123/article/details/59043923

`org.apache.ibatis.exceptions.PersistenceException` 是 MyBatis 持久化异常的父类,它通常是其他具体异常的包装类。要解决这个异常,你需要进一步查看异常的详细信息和堆栈跟踪,以找出具体的错误原因。 在你的异常信息,通常会有更具体的异常类和错误信息。你可以将这些信息提供给我,我可以帮助你分析并给出解决方案。另外,你也可以尝试以下几个常见的解决方法: 1. 检查数据库连接:确认数据库连接的配置信息是否正确,包括数据库地址、用户名、密码等。可以尝试连接数据库的工具或者其他方式来验证连接是否正常。 2. 检查 SQL 语句:查看你的映射文件定义的 SQL 语句是否正确。可以将 SQL 语句复制到数据库客户端运行,看是否能够正常执行。 3. 检查映射配置:确认映射文件的参数映射和结果集映射是否正确。可以对照数据库表结构和映射文件的配置来进行验证。 4. 查看日志信息:查看 MyBatis 的日志输出,看是否有更详细的错误信息和提示。你可以在 `mybatis-config.xml` 配置日志输出级别,以便更好地调试问题。 5. 检查依赖版本:确认你使用的 MyBatis 版本与其他相关依赖的版本是否兼容。有时候不同版本的依赖之间可能存在冲突或不兼容的情况。 希望以上方法能够帮助你解决问题。如果你提供更具体的异常信息和代码片段,我可以给出更具体的建议。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值