亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

资溪县| 富裕县| 屯门区| 广宗县| 瑞丽市| 绵竹市| 江都市| 盐山县| 米泉市| 凤山市| 慈溪市| 灵武市| 松阳县| 宁远县| 大埔区| 绍兴县| 上思县| 东城区| 五指山市| 长春市| 阜宁县| 浮山县| 黄梅县| 德格县| 水城县| 宝应县| 唐山市| 亳州市| 澄城县| 改则县| 武鸣县| 静乐县| 长子县| 凤山县| 齐齐哈尔市| 汕尾市| 鹤峰县| 河曲县| 潜江市| 曲水县| 吉安市|