mybatis取別名typeAliases標(biāo)簽的位置放錯(cuò)導(dǎo)致報(bào)錯(cuò)的解決
mybatis取別名typeAliases標(biāo)簽的位置放錯(cuò)導(dǎo)致報(bào)錯(cuò)
學(xué)習(xí)mybatis的過(guò)程中,在全局配置文件SqlMapConfig.xml(名字自己取,可能不同)的配置中遇到許多坑。
在使用typeAliases標(biāo)簽取別名的時(shí)候,
因?yàn)?lt;typeAliases>位置放錯(cuò),報(bào)如下錯(cuò)
————————————————————————————————————————————————————
org.apache.ibatis.exceptions.PersistenceException:
### Error building SqlSession.
### Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 27; columnNumber: 17; 元素類型為 "configuration" 的內(nèi)容必須匹配 "(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,
plugins?,environments?,databaseIdProvider?,mappers?)"。
——————————————————————————————————————————————-——————
解決方案
原來(lái)各個(gè)標(biāo)簽節(jié)點(diǎn)是有排序規(guī)則的,我個(gè)人報(bào)錯(cuò)的情況是因?yàn)槲野?lt;typeAliases>標(biāo)簽
放在了<enviroments>后面。
至此問(wèn)題解決!
mybatis取別名問(wèn)題
今天學(xué)習(xí)Mybatis時(shí)在取別名這里總是報(bào)錯(cuò)
如圖所示 錯(cuò)誤信息:
Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 36; columnNumber: 17; 元素類型為 “configuration” 的內(nèi)容必須匹配 “(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)”。

解決方案
最后發(fā)現(xiàn)只需要在定義別名的時(shí)候把typeAlias標(biāo)簽放在properties標(biāo)簽后面就好了
<?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>
<!--typeAlias用于配置別名。type屬性指定的是實(shí)體類全限定類名。alias屬性指定別名,當(dāng)指定了別名就不區(qū)分大小寫(xiě),linux中仍然區(qū)分大小寫(xiě),且typeAlias標(biāo)簽必須放在properties后面-->
<properties resource="jdbcConfig.properties">
</properties>
<typeAliases>
<package name="domain"></package>
</typeAliases>
<!--配置環(huán)境-->
<environments default="mysql">
<!--配置mysql的環(huán)境-->
<environment id="mysql">
<!--配置事務(wù)的類型-->
<transactionManager type="JDBC">
</transactionManager>
<!--配置數(shù)據(jù)源(連接池)-->
<dataSource type="POOLED">
<!--配置連接數(shù)據(jù)庫(kù)的4個(gè)基本信息-->
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!--指定映射配置文件的位置,映射配置文件指的是每個(gè)dao獨(dú)立的配置文件
如果是用注解來(lái)配置的話,此處應(yīng)該使用class屬性指定被注解的dao全限定類名
-->
<mappers>
<package name="dao"/>
</mappers>
</configuration>
之后運(yùn)行就正常了

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家.
相關(guān)文章
聊聊springboot靜態(tài)資源加載的規(guī)則
這篇文章主要介紹了springboot靜態(tài)資源加載的規(guī)則,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
IDEA2019.2.2配置Maven3.6.2打開(kāi)出現(xiàn)Unable to import Maven project
這篇文章主要介紹了IDEA2019.2.2配置Maven3.6.2打開(kāi)出現(xiàn)Unable to import Maven project,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
java實(shí)現(xiàn)對(duì)excel文件的處理合并單元格的操作
這篇文章主要介紹了java實(shí)現(xiàn)對(duì)excel文件的處理合并單元格的操作,開(kāi)頭給大家介紹了依賴引入代碼,表格操作的核心代碼,代碼超級(jí)簡(jiǎn)單,需要的朋友可以參考下2021-07-07
jackson 如何將實(shí)體轉(zhuǎn)json json字符串轉(zhuǎn)實(shí)體
這篇文章主要介紹了jackson 實(shí)現(xiàn)將實(shí)體轉(zhuǎn)json json字符串轉(zhuǎn)實(shí)體,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
Spring Boot使用Druid和監(jiān)控配置方法
Druid是Java語(yǔ)言中最好的數(shù)據(jù)庫(kù)連接池,并且能夠提供強(qiáng)大的監(jiān)控和擴(kuò)展功能。下面來(lái)說(shuō)明如何在 Spring Boot 中配置使用Druid2017-04-04

