掃雷(一):MyBatis查詢結果爲null,但數據庫查詢存在該記錄

背景

在實現一個查詢數據的需求中,新建表,然後一步一步寫mapper,寫Dao等等。所有寫完後,開始啓動運行。頁面中顯示有一列有數據,但是其他列無數據。一臉懵有木有...然後後臺將List打印出來,仍是空,sql查詢語句有毛病,驗證了之後完全沒毛病。最後發現是Java實體類的命名和數據庫不一致。

問題:

數據庫的字段 order_id,line_station

Java的實體類中對應字段:orderId,lineStation

sql語句 : select * from drop_info

解決

方法一:修改實體類

由於查詢結果的字段爲order_id,line_station,在實體類中沒有定義,所以查詢結果爲null

Java實體類爲:order_id,line_station 問題得到解決 能正常的查詢到數據

必須要有對應的get set方法

 方法二:修改查詢語句

sql語句 : select order_id  orderId, line_station lineStation  from drop_info

數據庫的字段 order_id,line_station

java的實體類:orderId,lineStation

方法三:修改MyBatis配置,開啓駝峯命名規則(推薦)

<?xml version="1.0" encoding="UTF-8" ?>
<!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>
    <!-- 配置別名 必須在settings後面-->
    <typeAliases>
        <!-- 批量掃描別名 -->
        <package name="com.inchlifc.entity"/>
    </typeAliases>
</configuration>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章