1. 程式人生 > >mybatis學習筆記三——動態代理

mybatis學習筆記三——動態代理

在筆記二中,我們在使用mybatis查詢資料的操作中,使用了dao層的實現類,在實現類中增刪改查的程式碼比較簡單,而且程式碼的結構類似,有很多的共同點。因此我們可以使用動態代理來實現實現類的建立,我們只需配置一些引數,就可以使用jdbc動態代理的方式,進行建立實現類。

使用動態代理需要注意的地方:

  1. 每個Mapper介面一個Mapper.xml檔案
  2. mapper.xmlnamespace(名稱空間)必須是介面的全路徑名稱
  3. mapper.xml中的每個statement(select/insert/update/delete)id必須和介面方法名一一對應
  4. statement中定義的resultType
    必須和介面中對應方法的返回值一致(這一點即便不是動態代理也得遵守)

修改筆記二中的程式碼

1.把實現類去掉。筆記二中的UserMapper.xml中的namespace已為介面UserMapper的全路徑名稱

2,由於沒有實現類,我們在測試的時候,就不能通過new 實現類來獲取sqlsession

我們可以使用 userMapper = sqlSession.getMapper(UserMapper.class) 實現。