mybatis和spring整合

搭建环境---导入需要的jar包

另外这里我们不使用c3p0连接池,取而代之的是dbcp连接池(性能似乎没有c3p0好)  把该jar也加入到项目中

classpath路径下:配置如下,创建mybatis文件夹和spring文件夹  分别用来保存他们对应的xml文件(因为将来的配置文件可能非常多  这样使项目结构更加的清晰)

------------------------------------------------

在applicationContext.xml中配置sqlSessionFactory和数据源

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

sqlSessionFactory在mybatis和spring整合包中:

 

整合测试一:mybatis与spring整合:通过spring管理原始dao对象  进行数据的查询

user.xml

在SqlMapconfig.xml中加载User.xml

接口以及实现类:

注意:实现类中继承SqlSessionDaoSupport类  来得到sqlSession  所以在配置该类bean对象时  需要注入sqlSessionFactory,  

就像hibernate框架中的一样  dao实现类继承SesssionFactoryDaoSupport  在配置实现类对应的bean的时候  也是需要注入sessionfactory对象的

然后再applicationContext.xml中配置dao对应的bean对象

测试:因为此时项目是java项目  不需要部署项目到服务器   选择手动加载spring.xml文件  所以此时不需要配置spring核心配置文件的监听器(web.xml中)  手动加载该配置文件

结果:

整合测试二:mybatis与spring整合:通过spring管理mapper代理对象  进行数据的查询

1.通过配置bean对象的方式

mapper映射文件和mapper接口

在mybatis核心配置文件中加载映射文件

配置bean:    通过MapperFactoryBean创建代理对象

测试:

2.通过注解方式  扫描创建bean对象

 

而且此时在SqlMapConfig.xml中  加载mapper映射文件的代码可以删除了  但是注意上边需要遵循的规范

----------------------------------

 

转载于:https://www.cnblogs.com/Joke-Jay/p/7507453.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值