spring和mybatis整合

springmybatis整合

1.1 整合思路

需要spring通过单例方式管理SqlSessionFactory

springmybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession。(springmybatis整合自动完成)

持久层的mapper都需要由spring进行管理。

 

1.2 整合环境

 

创建一个新的java工程(接近实际开发的工程结构)

 

jar包:

 

mybatis3.2.7jar

 

spring3.2.0jar

 

mybatisspring的整合包:早期ibatisspring整合是由spring官方提供,mybatisspring整合由mybatis提供。

 

1.3 sqlSessionFactory

 

applicationContext.xml配置sqlSessionFactory和数据源

 

sqlSessionFactorymybatisspring的整合包下。

 

<!-- 加载配置文件 -->
    <context:property-placeholder location="classpath:db.properties" />

    <!-- 数据源,使用dbcp -->
    <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>


    <!-- sqlSessinFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 加载mybatis的配置文件 -->
        <property name="configLocation" value="mybatis/SqlMapConfig.xml" />
        <!-- 数据源 -->
        <property name="dataSource" ref="dataSource" />
    </bean>

 

1.4 原始dao开发(和spring整合后)

1

 

 

.4.1 User.xml

 

SqlMapconfig.xml中加载User.xml

8.4.2 dao(实现类继承SqlSessionDaoSupport)

 

dao接口实现类需要注入SqlSessoinFactory,通过spring进行注入。

这里spring声明配置方式,配置daobean

 

UserDaoImpl实现类继承SqlSessionDaoSupport

 

8.4.3 配置dao

在applicationContext.xml中配置dao。

8.4.4 测试程序

 

1.5 mapper代理开发

1.5.1 mapper.xmlmapper.java

 

1.5.2 通过MapperFactoryBean创建代理对象

此方法问题:

需要针对每个mapper进行配置,麻烦。

1.5.3通过MapperScannerConfigurer进行mapper扫描(建议使用)

1.5.4 测试代码

 

 

posted @ 2017-10-30 20:05  A-a  阅读(296)  评论(0)    收藏  举报