随笔 - 583  文章 - 0  评论 - 31  阅读 - 90万

MyBatis - typeAliases不能正确解析问题的处理方法

Mybatis配置文件中使用typeAliases竟然报错,错误提示:

1
the content of element type "configuration" must match "(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)". 

这个问题居然是typeAliases和environments元素在configuration中顺序引起的!!

最终总结“configuration”中的元素必须按照上面错误提示中的元素顺序加入,如果前面的元素没有,可以忽略,但是所有元素的顺序不能颠倒,否则就会报上面错误!!

引起错误时候的配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
 
<configuration>
 
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url"
                    value="jdbc:mysql://localhost:3306/jpetstore?autoReconnect=true&useUnicode=true&characterEncoding=utf-8" />
                <property name="username" value="root" />
                <property name="password" value="trymybest" />
            </dataSource>
        </environment>
    </environments>
 
    <typeAliases>
        <package name="org.mybatis.model" />
    </typeAliases>
 
    <mappers>
        <package name="org.mybatis.mapper" />
    </mappers>
</configuration>

修改后,正常工作的配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
 
<configuration>
 
    <typeAliases>
        <package name="org.mybatis.model" />
    </typeAliases>
 
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url"
                    value="jdbc:mysql://localhost:3306/jpetstore?autoReconnect=true&useUnicode=true&characterEncoding=utf-8" />
                <property name="username" value="root" />
                <property name="password" value="trymybest" />
            </dataSource>
        </environment>
    </environments>
 
    <mappers>
        <package name="org.mybatis.mapper" />
    </mappers>
</configuration> 

 

参考:

https://blog.csdn.net/chunyuan314/article/details/77478896

posted on   sunylat  阅读(2824)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示