mybatis中關(guān)于type-aliases-package的使用
關(guān)于type-aliases-package的使用
springboot項(xiàng)目中的application.yml文件中的mybatis:type-aliases-package:什么時(shí)候用
mapper.xml文件中resultMap的type、parameterType、resultType會(huì)引用一些實(shí)體類,我們需要寫上全限定類名,如果不寫全限定類名,只寫一個(gè)實(shí)體類的名稱的話,那就需要在application.yml文件中設(shè)置mybatis:type-aliases-package參數(shù);
怎么寫application.yml中的mybatis:type-aliases-package
mybatis:?? ? type-aliases-package: com.atguigu.springcloud.entities #實(shí)體類所在的包
在配置好mybatis后,我們?cè)趍apper.xml映射文件中不需要寫出實(shí)體類的完整路徑,只需要寫出類名即可
關(guān)于type-aliases-package使用的幾個(gè)問(wèn)題
mapper.xml中的resultType中經(jīng)常會(huì)用到一些自定義POJO,你可以用完全限定名來(lái)指定這些POJO的引用,例如
<select id="selectByStudentSelective" resultType="cn.wideth.entity.domain.Student"> ? ? ?SELECT T.* FROM student T </select>
我們需要查詢student表中所有學(xué)生的信息,定義了一個(gè)實(shí)體類student來(lái)映射表中所有的學(xué)生信息,把類的權(quán)限定類名放在resultType標(biāo)簽中即可,mybatis底層在返回?cái)?shù)據(jù)庫(kù)信息的時(shí)候,會(huì)根據(jù)Class.forName(“cn.wideth.entity.domain.Student”)去生成對(duì)象實(shí)例;
如果我們想在resultType標(biāo)簽中僅僅使用類名Student可不可以呢
? ?<select id="selectByStudentSelective" resultType="Student"> ? ? ? ? SELECT T.* FROM student T ? ? </select>
這樣也是可以的,只是需要在yml配置文件中提前進(jìn)行配置
mybatis: ? config-location: classpath:mybatis/mybatis-config.xml ? mapper-locations: classpath:mybatis/mapper/*.xml ? type-aliases-package: cn.wideth.entity
這樣也是可以的,springboot在啟動(dòng)的時(shí)候,會(huì)加載cn.wideth.entity包以及子包下所有的實(shí)體類,進(jìn)行初始化操作。但是不同子包下面不可以存在同名的實(shí)體類。
子包下面存在同名實(shí)體類,結(jié)果報(bào)錯(cuò)了。
小結(jié):盡量去使用實(shí)體類的全限定類名,這樣會(huì)減少程序出現(xiàn)問(wèn)題。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot學(xué)習(xí)之Json數(shù)據(jù)交互的方法
這篇文章主要介紹了SpringBoot學(xué)習(xí)之Json數(shù)據(jù)交互的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12java組件commons-fileupload實(shí)現(xiàn)文件上傳
這篇文章主要介紹了java借助commons-fileupload組件實(shí)現(xiàn)文件上傳,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10SpringMVC如何域?qū)ο蠊蚕頂?shù)據(jù)
在Spring MVC中,可以使用域?qū)ο髞?lái)共享數(shù)據(jù),域?qū)ο笫且粋€(gè)Map類型的對(duì)象,可以在請(qǐng)求處理方法之間共享數(shù)據(jù),本文給大家介紹SpringMVC 域?qū)ο蠊蚕頂?shù)據(jù)的示例代碼,一起看看吧2023-09-09SpringBoot監(jiān)控Tomcat活動(dòng)線程數(shù)來(lái)判斷是否完成請(qǐng)求處理方式
這篇文章主要介紹了SpringBoot監(jiān)控Tomcat活動(dòng)線程數(shù)來(lái)判斷是否完成請(qǐng)求處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02java虛擬機(jī)深入學(xué)習(xí)之內(nèi)存管理機(jī)制
java虛擬機(jī)在程序運(yùn)行時(shí)將內(nèi)存劃分為多個(gè)區(qū)域,每個(gè)區(qū)域作用,生命周期各不相同,下面這篇文章主要給大家介紹了關(guān)于java虛擬機(jī)深入學(xué)習(xí)之內(nèi)存管理機(jī)制的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2018-11-11springboot 動(dòng)態(tài)數(shù)據(jù)源的實(shí)現(xiàn)方法(Mybatis+Druid)
這篇文章主要介紹了springboot 動(dòng)態(tài)數(shù)據(jù)源的實(shí)現(xiàn)方法(Mybatis+Druid),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01