前記:這是很早之前自學學習myBatis時的筆記,內容比較基礎,適合新手,內容基本是來自網絡,如有雷同,敬請諒解!
1 Mapper編寫的三種方法
1.1 Dao接口實現類繼承SqlSessionDaoSupport
這種方法是原始的開發方法,即 需要編寫 Dao接口、Dao實現類、配置文件。
1、 在sqlMapConfig.xml中配置映射文件的位置
<mappers>
<mapper resource="mapper.xml文件的地址" />
<mapper resource="mapper.xml文件的地址" />
</mappers>
2、 定義dao口
3、 dao接口實現類繼承SqlSessionDaoSupport
dao接口實現類方法中可以this.getSqlSession()進行數據增刪改查。
4、 spring 配置
<beanid=" "class="mapper接口的實現">
<propertyname="sqlSessionFactory" ref="sqlSessionFactory">
</property>
</bean>
1.2 使用org.mybatis.spring.mapper.MapperFactoryBean
此方法即mapper接口開發方法,只需定義mapper接口,不用編寫mapper接口實現類。每個mapper接口都需要在spring配置文件中定義。
1、 在sqlMapConfig.xml中配置mapper.xml的位置
如果mapper.xml和mappre接口的名稱相同且在同一個目錄,這裏可以不用配置
<mappers>
<mapper resource="mapper.xml文件的地址" />
<mapper resource="mapper.xml文件的地址" />
</mappers>
2、 定義mapper接口
3、 Spring中定義
<beanid=""class="org.mybatis.spring.mapper.MapperFactoryBean">
<propertyname="mapperInterface"value="mapper接口地址"/>
<propertyname="sqlSessionFactory"ref="sqlSessionFactory"/>
</bean>
1.3 使用mapper掃描器
此方法即mapper接口開發方法,只需定義mapper接口,不用編寫mapper接口實現類。只需要在spring配置文件中定義一個mapper掃描器,自動掃描包中的mapper接口生成代代理對象。
1、 mapper.xml文件編寫,
2、 定義mapper接口
注意mapper.xml的文件名和mapper的接口名稱保持一致,且放在同一個目錄
3、 配置mapper掃描器
<beanclass="org.mybatis.spring.mapper.MapperScannerConfigurer">
<propertyname="basePackage"value="mapper接口包地址"></property>
<propertyname="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>
basePackage:掃描包路徑,中間可以用逗號或分號分隔定義多個包
4、 使用掃描器後從spring容器中獲取mapper的實現對象
如果將mapper.xml和mapper接口的名稱保持一致且放在一個目錄則不用在sqlMapConfig.xml中進行配置
例: