• 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映射文件的代码可以删除了  但是注意上边需要遵循的规范

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

  • 相关阅读:
    0.Mysql优化框架
    [C]extern char **environ
    [C]Armstrong Number
    [C]struct, union的结合
    [C]enum类型
    [C]fibonacci series, recursion, time.h
    [C/JAVA]二维数组
    [C] char**, swich-case, refactoring, stdbool.h
    hardly/scarcely ... goes by without ...
    [C]随机数生成
  • 原文地址:https://www.cnblogs.com/Joke-Jay/p/7507453.html
Copyright © 2020-2023  润新知