天天看點

mybatis 增删查改操作實踐

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類中的屬性指派。

然後寫一個測試類:

測試台輸出成功。

小筆記  如果事務不送出,資料庫是不會有更改的,而控制台是有日志的輸出的,錯過一次。