mybatis|mybatis 在typeAliases别名时报错的解决

目录

  • mybatis 在typeAliases别名时报错
    • 原因
  • mybatis typeAliases别名标签
    • 单个的取别名
    • 一次性给所有pojo取别名
    • 内置别名

mybatis 在typeAliases别名时报错
Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException:
### Error building SqlSession.
### Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 36; columnNumber: 18; 元素类型为 "configuration" 的内容必须匹配 "(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)"。
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:80)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:64)
at me.gacl.test.Test1.main(Test1.java:20)
mybatis|mybatis 在typeAliases别名时报错的解决
文章图片


原因
元素顺序错误,元素类型为 "configuration" 的内容必须匹配
"(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)"
修改如下图后,正常。
mybatis|mybatis 在typeAliases别名时报错的解决
文章图片


mybatis typeAliases别名标签 在xxxxMapper.xml文件中User无论是作为参数还是作为查询返回数据类型,都需要写上全限定名,实际可以写上简单类名即可,但是需要配置别名
MyBatis框架提供了两种别名机制,一种是自定义别名,一种是内置别名
自定义别名

单个的取别名
第一步:修改mybatis-config.xml配置文件


第二步:修改UserMapper.xml

select id u_c_a_id,username u_c_a_name,password u_c_a_pwd,age from user where id=#{id}


一次性给所有pojo取别名
第一步:修改mybatis-config.xml配置文件

第二步:修改UserMapper.xml
select id u_c_a_id,username u_c_a_name,password u_c_a_pwd,age from user where id=#{id}


内置别名
mybatis|mybatis 在typeAliases别名时报错的解决
文章图片

【mybatis|mybatis 在typeAliases别名时报错的解决】以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

    推荐阅读