91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

mybatis如何解決從列名到屬性名的自動映射失敗的問題

發布時間:2021-06-30 17:11:06 來源:億速云 閱讀:144 作者:chen 欄目:開發技術

本篇內容介紹了“mybatis如何解決從列名到屬性名的自動映射失敗的問題”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

問題背景

從數據庫中取出數據映射到實體類時,實體類中只有部分屬性映射成功,其余屬性值皆為null。

問題描述

如下圖AreaDao.xml文件中描述了queryArea()方法從數據庫獲取Area對象的各個屬性值的查詢過程,最后執行查詢結果顯示只有屬性priority被成功地賦值

AreaDao.xml

<select id="queryArea" resultType="com.imooc.wechatpro.model.Area">
        SELECT area_id, area_name, priority, create_time, last_edit_time
        FROM tb_area
        ORDER BY priority
        DESC
</select>
AreaDaoTest.java
Area area = areaDao.queryAreaById(3);
area = {Area@7489} 
 areaId = null
 areaName = null
 priority = {Integer@7513} 312
 createTime = null
 lastEditTime = null

數據庫中對應的表tb_area:

mysql> select * from tb_area;
+---------+-----------+----------+-------------+----------------+
| area_id | area_name | priority | create_time | last_edit_time |
+---------+-----------+----------+-------------+----------------+
|       1 | 南苑      |      302 | NULL        | NULL           |
|       2 | 北苑      |      307 | NULL        | NULL           |
|       3 | 東苑      |      312 | NULL        | NULL           |
+---------+-----------+----------+-------------+----------------+

原因

實體類Area中的屬性使用的是駝峰命名規則,默認情況下無法與數據庫表的列名相匹配

Area.java
public class Area {
    private Integer areaId;
    private String areaName;
    private Integer priority;
    private Date createTime;
    private Date lastEditTime;
    ······
}

解決辦法

在mybatis的配置文件mybatis-config.xml中將mapUnderscoreToCamelCase設為true,關于配置文件mybatis-config.xml的各種屬性配置可以參考官方文檔

<configuration>
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true" />
    </settings>
</configuration>

當然這還沒完,為了讓文件mybatis-config.xml生效,需要將該文件的路徑添加到全局配置文件application.properties(or application.yml)的配置中,如

application.properties
mybatis.config-location=classpath:mybatis-config.xml

在這里,我的mybatis-config.xml文件在resources目錄下,因此使用路徑classpath:mybatis-config.xml

mybatis 無法找到映射錯誤

mybatis 中報錯:

Result Maps collection does not contain value for com.common.pojo.User

其中是因為在mapper.xml文件中的resultMap ,沒有設置正確,沒有將sql的列名與pojo類的屬性名保持一致

“mybatis如何解決從列名到屬性名的自動映射失敗的問題”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

来凤县| 平谷区| 扬州市| 米易县| 泾川县| 西宁市| 湛江市| 宿松县| 弥渡县| 射洪县| 安丘市| 勃利县| 集贤县| 恩施市| 手游| 高淳县| 始兴县| 黑河市| 汨罗市| 云南省| 甘泉县| 陵水| 葫芦岛市| 囊谦县| 滁州市| 万安县| 江油市| 嘉善县| 庆阳市| 会泽县| 韶关市| 姜堰市| 文安县| 平遥县| 思南县| 云和县| 集安市| 涟源市| 潜山县| 盈江县| 吉林市|