1.mybatis-config.xml 中定義typeAliases設定别名的時候,必須在setting标簽之後。
2.一些别名已經被mybatis預先定義好,如map->Map 一樣,詳細看書。
3.mappers 的命名空間一定要有良好的命名習慣,比如本次項目中的com.radish.mapper.UserMapper.{id}
4.insert 和 update 标簽都能設定 useGeneratedKeys
true 表示使用資料庫支援的自增長規則。 如mysql就可以。 oracle是通過序列實作的,是不一樣的。
5.insert 标簽中 #{name} #{age} 等表達式,如果傳入參數是User類對象,就會去查詢 name age 等字段,而如果傳入的不是User,
而是一個Map 集 ,就會以 name, age 為key 去查詢value 來得到參數。
6.select * from table; 這種語句可以設定resultType = "map" 然後傳回的一條記錄對應
一個map(String, Object) key是列名, value是屬性。
7.不過使用resultType="map" 的形式接收資料不能非常好地描述一個模型。是以這時可以使用JavaBeans
去接收這個結果。操作步驟:
一、在UserMapper.xml 中添加代碼:
上述代碼定義了一個resultMap的規範。
注意事項:
* user是之前在mybatis-config.xml中對com.radish.domain.User 定義過的别名
* column屬性對應的是資料表的列名。property表示資料庫列映射到傳回類型的屬性名。
二、在後續的<select/>中添加 resultMap="userResultMap" mybatis就會将查詢到的結果集一一向user類中的屬性指派。
然後寫一個測試類:
測試台輸出成功。
小筆記 如果事務不送出,資料庫是不會有更改的,而控制台是有日志的輸出的,錯過一次。