初学Mybatis时遇到 Error building SqlSession.的原因,看了半天,终于成功解决了
来源:互联网 发布:软件开发公司名字 编辑:程序博客网 时间:2024/05/16 02:05
1、我出现的的错误
Exception in thread "main" java.lang.ExceptionInInitializerErrorCaused by: org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession.### The error may exist in com/lhj/mapper/PersonMapper.xml### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'Person'. Cause: java.lang.ClassNotFoundException: Cannot find class: Personat org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:26)at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:54)at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:38)at com.lhj.test.Test.<clinit>(Test.java:21)Caused by: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'Person'. Cause: java.lang.ClassNotFoundException: Cannot find class: Personat org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:109)at org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:92)at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:52)... 2 moreCaused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'Person'. Cause: java.lang.ClassNotFoundException: Cannot find class: Personat org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:120)at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:92)at org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:322)at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:107)... 4 moreCaused by: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias 'Person'. Cause: java.lang.ClassNotFoundException: Cannot find class: Personat org.apache.ibatis.builder.BaseBuilder.resolveClass(BaseBuilder.java:103)at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:72)at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:135)at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:128)at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:118)... 7 moreCaused by: org.apache.ibatis.type.TypeException: Could not resolve type alias 'Person'. Cause: java.lang.ClassNotFoundException: Cannot find class: Personat org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:117)at org.apache.ibatis.builder.BaseBuilder.resolveAlias(BaseBuilder.java:130)at org.apache.ibatis.builder.BaseBuilder.resolveClass(BaseBuilder.java:101)... 11 moreCaused by: java.lang.ClassNotFoundException: Cannot find class: Personat org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:190)at org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:89)at org.apache.ibatis.io.Resources.classForName(Resources.java:256)at org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:113)... 13 more
2、我的配置文件
mybatis-config.xml:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- 元素允许在主配置文件之外提供一个properties格式对应文件,从而使得主配置文件更加通用。这样对部署非常有用 --><properties resource="db.properties"></properties><!-- 设置别名,一定要放在properties下面 --><typeAliases><typeAlias alias="per" type="com.lhj.entity.Person"/></typeAliases><!-- 配置数据源相关的信息 --><environments default="development"><environment id="development"><transactionManager type="JDBC"></transactionManager><dataSource type="POOLED"><property name="driver" value="${driver}"/><property name="url" value="${url}"/><property name="username" value="${username}"/><property name="password" value="${password}"/></dataSource></environment></environments><!-- 映射文件 --><mappers><mapper resource="com/lhj/mapper/PersonMapper.xml"/></mappers></configuration>
PersonMapper.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.lhj"><!-- 查找 --><select id="findPerson" parameterType="int" resultType="Person">select * from per where id=#{id}</select><!-- 插入 --><insert id="addPerson" parameterType="Person"useGeneratedKeys="true" keyProperty="id">insert into per value(null,#{name},#{age})</insert><!-- 删除 --><delete id="delPerson" parameterType="int">delete from per where id=#{id}</delete><!-- 修改 --><update id="updatePerson" parameterType="Person">update per set name=#{name},age=#{age} where id=#{id}</update></mapper>
3、错误原因
我在mybatis-config.xml的这个配置文件里给实体类设置了别名<typeAliases>
<typeAlias alias="per" type="com.lhj.entity.Person"/>
</typeAliases>,而在PersonMapper.xml这个配置文件中的resultType="Person"、parameterType="Person",我却没有用到这个别名。
解决办法就是把PersonMapper.xml这个配置文件中的修改成resultType="per"、parameterType="per"或者不用别名,直接用包名加类名,例如:resultType="com.lhj.entity.Person"、parameterType="com.lhj.entity.Person"。
哈哈,这样就完美解决了。
阅读全文
1 0
- 初学Mybatis时遇到 Error building SqlSession.的原因,看了半天,终于成功解决了
- 初玩mybatis遇到Error building SqlSession.
- 今天弄了半天的问题终于解决了!
- 好长啊,看了半天~~~
- mysql 短连接压测遇到的问题及查找解决思路[终于找到原因了]
- 用了半天时间,终于在ubuntu下成功安装了zend studio
- 我看了半天还是没看明白大巴为什么当上助攻王的原因,反而稀里糊涂看了那么多国产后卫的名字
- 终于解决了这个问题,看了一天了。。。
- SOAP开发中遇到的郁闷问题终于解决了!
- 看《OpenGL超级宝典(第四版)》的4.5.2节时遇到了一系列问题,经过不懈努力终于解决,现将过程记录在下,以便查找追思。
- ### Error building SqlSession.
- Error building SqlSession.
- 呵呵,终于成功了
- 终于申请成功了!!
- 终于申请成功了!!
- 终于注册成功了!
- 终于成功了
- 终于安装成功了!
- Java生成二维码(zxing、qrCode)
- Android hdpi ldpi mdpi xhdpi xxhdpi适配详解
- C51 数字和字符串互相转化
- Redis未授权访问漏洞客户修复通知
- 深入理解javascript原型和闭包(2)——函数和对象的关系
- 初学Mybatis时遇到 Error building SqlSession.的原因,看了半天,终于成功解决了
- 关于mybatis generator.xml逆向生成mapper,pojo类,及接口
- 第八周项目二
- 安卓学习
- Android Kotlin 条件控制
- 搜索自己csdn内的blog
- 【SQL Server DBA】日常巡检语句3:特定监控(阻塞、top语句、索引、作业)
- mybatis使用foreach
- 第十二周项目五——拓扑排序算法验证