溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mybatis.type-aliases-package怎么用

發(fā)布時間:2022-01-17 16:21:53 來源:億速云 閱讀:1048 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“mybatis.type-aliases-package怎么用”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“mybatis.type-aliases-package怎么用”吧!

mybatis.type-aliases-package的用法說明

在mapper.xml文件中的resultMap的type或者parameterType會用到自定義的POJO。

例如:

<mapper namespace="com.example.demo.mapper.UserMapper">
    <select id="findAll" resultType="User">
        select * from User
    </select>
    <select id="findByName" resultType="User">
        select * from User where username=#{username}
    </select>
    <select id="findPswByName" resultType="String">
        select password from user where username = #{username}
    </select>
    <insert id="save">
        insert into user(username,password) value (#{username},#{password})
    </insert>
</mapper>

其中resultType=“User”中,User就是自定義的POJO,此時可以使用完全限定名來指定這些POJO的引用,例如:

<select id="findByName" resultType="com.example.entity.User">

第二種方法就是使用mybatis.type-aliases-package來指定POJO掃描包來讓mybatis自動掃描到自定義的POJO。

在application.propertites配置文件中配置如下信息:mybatis.type-aliases-package=com.example.entity

mybatis.type-aliases-package=com.example.demo.entity

type-aliases-package使用的幾個問題

mapper.xml中的resultType中經(jīng)常會用到一些自定義POJO,你可以用完全限定名來指定這些POJO的引用,例如

<select id="selectByStudentSelective" resultType="cn.wideth.entity.domain.Student">
     SELECT T.* FROM student T
</select>

我們需要查詢student表中所有學(xué)生的信息,定義了一個實體類student來映射表中所有的學(xué)生信息,把類的權(quán)限定類名放在resultType標(biāo)簽中即可,mybatis底層在返回數(shù)據(jù)庫信息的時候,會根據(jù)Class.forName(“cn.wideth.entity.domain.Student”)去生成對象實例;

mybatis.type-aliases-package怎么用

如果我們想在resultType標(biāo)簽中僅僅使用類名Student可不可以呢

   <select id="selectByStudentSelective" resultType="Student">
        SELECT T.* FROM student T
    </select>

這樣也是可以的,只是需要在yml配置文件中提前進行配置

mybatis:
  config-location: classpath:mybatis/mybatis-config.xml
  mapper-locations: classpath:mybatis/mapper/*.xml
  type-aliases-package: cn.wideth.entity

mybatis.type-aliases-package怎么用

這樣也是可以的,springboot在啟動的時候,會加載cn.wideth.entity包以及子包下所有的實體類,進行初始化操作。但是不同子包下面不可以存在同名的實體類。

mybatis.type-aliases-package怎么用

子包下面存在同名實體類,結(jié)果報錯了。

感謝各位的閱讀,以上就是“mybatis.type-aliases-package怎么用”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對mybatis.type-aliases-package怎么用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)
推薦閱讀:
  1. 怎么用vuex
  2. 怎么用redis

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI