背景
在實現一個查詢數據的需求中,新建表,然後一步一步寫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>