每一年都奔走在自己热爱里

没有人是一座孤岛,总有谁爱着你

Spring学习笔记(五)-整合Mybatis

Spring整合Mybatis

集成思路
  • Spring有非常好的兼容性,能集成其他优秀的框架,在集成中使用的是Spring的IOC技术
  • 使用Mybatis则需要创建Mybatis中的某些对象:
    • dao接口的代理对象、SqlSession、SqlSessionFactory、DataSource
    • Mybatis自带有一个DataSource对象,亦可整合其他连接池对象替代之
  • 从Spring容器中获取对象
整合方式
  • Spring配置文件的设置:

    • 声明数据源DataSource
    • 声明SqlSessionFactoryBean,由Mybatis提供,用于创建SqlSessionFactory
    • 声明MapperScannerConfiguration,在内部创建dao代理对象,创建的dao代理对象都存放于Spring容器中
  • Maven配置:Mybatis和Spring的集成

  • <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>2.0.5</version>
    </dependency>
    
  • Spring配置文件设置

  • <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
            <property name="driverClassName" value="${jdbc.driver}"/>
            <property name="username" value="${jdbc.username}"/>
            <property name="password" value="${jdbc.password}"/>
            <property name="url" value="${jdbc.url}"/>
            <property name="initialSize" value="${jdbc.initialSize}"/>
            <property name="maxActive" value="${jdbc.maxActive}"/>
            <property name="maxWait" value="${jdbc.maxWait}"/>
    </bean>
    
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="configLocation" value="classpath:MybatisSpringConfig.xml"/>
    </bean>
    
    <bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
        <!--指定基本包,dao接口所在的包名-->
        <!--将会调用getMapper()方法创建所有dao代理对象-->
        <property name="basePackage" value="com.km.dao"/>
    </bean>
    
  • 在Mybatis中不再需要配置dataSource

  • 当在一个文件中引用另外一个文件时,需要配置classpath告知引用文件的位置

posted @ 2020-12-11 15:29  雨下整夜~  阅读(82)  评论(0)    收藏  举报