Mybatis整合spring(一)

1、整合原理

1)SqlSessionFactory對象應該放到spring容器中作爲單例存在
2)傳統dao的開發方式中,應該從spring容器中獲得sqlsession對象。
3)Mapper代理方式中,應該從spring容器中直接獲得mapper的代理對象。Sqlsession對象由spring負責關閉
4)數據庫的連接以及數據庫連接池事務管理都交給spring容器來完成。Mybatis核心配置文件不在需要進行管理了
5)以mybatis爲主,以spring爲輔。
2、整合步驟
1)導入全體Jar包
2)編寫mybatis核心配置文件
   1>起別名
   2>導入表映射文件
3)編寫spring核心配置文件
   1>配置數據庫連接池
   2>註冊SqlSessionFactory工廠對象(數據源,  mybatis核心配置文件)
   3>註冊MapperFactoryBean類對象( 工廠對象、DAO接口)
4)定義DAO(pojo類、接口、表映射文件)
5)測試類創建ApplicationContext對象,獲取Mapper動態代理對象
3、spring核心配置文件
<!--1.加載properties屬性配置文件-->
<context:property-placeholder location="classpath:db.properties"/><!-- location:properties屬性值文件路徑;classpath:src根目錄 -->

<!-- 2.數據庫連接池 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="maxActive" value="10" />
<property name="maxIdle" value="5" />
</bean>

<!-- 3.註冊Mybatis的SqlSessionFactoryBean工廠 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <propertyname="dataSource"ref="dataSource" />
    <propertyname="configLocation"  value="classpath:sqlMapConfig.xml"/>
</bean>

<!-- 4.Mapper動態代理開發 -->
<bean id="studentMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
    <propertyname="sqlSessionFactory"ref="sqlSessionFactoryBean"/>
    <propertyname="mapperInterface" value="com.t1.mybatis.mapper.StudentMapper"/>
</bean>

<!-- 4.Mapper動態代理開發,掃描 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <propertyname="basePackage"value="com.t1.mybatis.mapper"/>
</bean>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章