激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - mybatis 在typeAliases別名時報錯的解決

mybatis 在typeAliases別名時報錯的解決

2022-01-22 16:45Joker_nupt Java教程

這篇文章主要介紹了mybatis 在typeAliases別名時報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

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 在typeAliases別名時報錯的解決

原因

元素順序錯誤,元素類型為 "configuration" 的內容必須匹配

"(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)"

修改如下圖后,正常。

mybatis 在typeAliases別名時報錯的解決

 

mybatis typeAliases別名標簽

在xxxxMapper.xml文件中User無論是作為參數還是作為查詢返回數據類型,都需要寫上全限定名,實際可以寫上簡單類名即可,但是需要配置別名

MyBatis框架提供了兩種別名機制,一種是自定義別名,一種是內置別名

自定義別名

單個的取別名

第一步:修改mybatis-config.xml配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!-- dtd約束 -->
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
	<!-- 使用駝峰命名法 -->
	<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
<!-- ####################################################  -->
 <typeAliases>
 		<!--typeAlias子標簽:設置單個類型的別名
 			type:pojo或vo的數據類型,值為全限定名
 			alias:別名,一般都使用類的簡單名稱
 		  -->	
 		<typeAlias type="com.mybatis.pojo.User" alias="user"/>
 		<!-- <typeAlias type="com.mybatis.pojo.XXX" alias="xxx"/> -->
 </typeAliases>
 <!-- ####################################################  -->
<environments default="dev_mysql">
  <environment id="dev_mysql">
    <transactionManager type="JDBC"/>
    <dataSource type="POOLED">
      <property name="driver" value="com.mysql.jdbc.Driver"/>
      <property name="url" value="jdbc:mysql://localhost:3306/gj1?characterEncoding=utf8"/>
      <property name="username" value="root"/>
      <property name="password" value="123456"/>
    </dataSource>
  </environment>
</environments>
<mappers>
	<mapper resource="com\mybatis\mapper\UserMapper.xml"/>
</mappers>
</configuration>

第二步:修改UserMapper.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.mybatis.mapper.UserMapper">
  <!-- 單行查詢功能
    resultType : 返回類型,必須和對應映射接口方法的返回類型一致,值必須為全限定名
    此時的resultType必須跟mybatis-config.xml中alias屬性值一致
   -->
   <select id="selectByPrimaryKey" parameterType="int" resultType="user">
    select id u_c_a_id,username u_c_a_name,password u_c_a_pwd,age from user where id=#{id}
   </select>
   
</mapper>

一次性給所有pojo取別名

第一步:修改mybatis-config.xml配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!-- dtd約束 -->
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
	<!-- 使用駝峰命名法 -->
	<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
<!--    <typeAliases>
 		typeAlias子標簽:設置單個類型的別名
 			type:pojo或vo的數據類型,值為全限定名
 			alias:別名,一般都使用類的簡單名稱
 		 	
 		<typeAlias type="com.mybatis.pojo.User" alias="user"/>
 		<typeAlias type="com.mybatis.pojo.XXX" alias="xxx"/>
 </typeAliases> -->
  <!-- ####################################################  -->
 <typeAliases>
 		<!--
 			package標簽:使用包掃描配置別名
 			為對應包下面的所有類都取了別名
 			默認使用簡單的名稱作為別名
 		  -->	
 		<package name="com.mybatis.pojo"/>
 </typeAliases>
 <!-- ####################################################  -->
<environments default="dev_mysql">
  <environment id="dev_mysql">
    <transactionManager type="JDBC"/>
    <dataSource type="POOLED">
      <property name="driver" value="com.mysql.jdbc.Driver"/>
      <property name="url" value="jdbc:mysql://localhost:3306/gj1?characterEncoding=utf8"/>
      <property name="username" value="root"/>
      <property name="password" value="123456"/>
    </dataSource>
  </environment>
</environments>
<mappers>
	<mapper resource="com\mybatis\mapper\UserMapper.xml"/>
</mappers>
</configuration>

第二步:修改UserMapper.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.mybatis.mapper.UserMapper">
  <!-- 單行查詢功能
    resultType : 返回類型,必須和對應映射接口方法的返回類型一致,值必須為全限定名
    此時的resultType為pojo的簡單名,可以為user,也可以為User
   -->
   <select id="selectByPrimaryKey" parameterType="int" resultType="user">
    select id u_c_a_id,username u_c_a_name,password u_c_a_pwd,age from user where id=#{id}
   </select>     
</mapper>

內置別名

mybatis 在typeAliases別名時報錯的解決

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/kobewncs/article/details/86155313

延伸 · 閱讀

精彩推薦
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7482021-02-04
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
主站蜘蛛池模板: 久久逼网 | 成年性羞羞视频免费观看 | 男女亲热网站 | 99久久精品免费看国产四区 | 97香蕉超级碰碰久久免费软件 | av免费在线播放 | 日韩精品一区二区在线观看 | 国产一级二级毛片 | 一级啪啪片 | 黄色大片免费网站 | 看片91 | 国产午夜精品一区二区三区嫩草 | 欧美一区久久久 | 国产无遮挡裸体免费视频 | 国产欧美在线一区二区三区 | 国产精品久久久久久久久久久久久久久 | 日韩美香港a一级毛片 | 久久亚洲春色中文字幕久久 | 免费人成年短视频在线观看网站 | 亚洲精品v天堂中文字幕 | fc2成人免费人成在线观看播放 | 热99视频| 99r国产精品 | 国产精品久久久久久久四虎电影 | 女人叉开腿让男人桶 | 性片免费看 | 免费国产视频在线观看 | 美女wc| 日韩色电影| 奶子吧naiziba.cc免费午夜片在线观看 | 日本在线观看一区二区 | 欧美a级大胆视频 | 日本在线免费观看视频 | 欧美成人一级片 | 大学生一级毛片在线视频 | 欧美hdfree性xxxx| av在线免费观看网站 | 精品一区二区免费 | 污污网站入口 | 日本在线不卡一区二区三区 | 中文字幕精品在线播放 |