Spring整合配置Mybatis

来源:互联网 发布:java 线程 sleep 编辑:程序博客网 时间:2024/05/29 03:16

使用Spring 整合 mybatis 的一些全局配置,可以减少开发量,同时约定大于配置也是目前开发的趋势。


  1. mybatis 是一种ORM框架,可以将数据库表与java entity实体类映射起来。


  2. 为了减少开发工作量,使用spring-mybatis管理数据库以及mybatis的一些配置属性

    • 一些jdbc基本属性,如jdbc驱动,jdbc登录的用户名,密码等
      <property name="jdbcUrl" value="${url}"/>
      <property name="user" value="${username}"/>
      <property name="password" value="${password}"/>

    • 数据库连接池的私有属性,如最大连接池数目,事务自动提交,失败重连重试次数等

      <!--c3p0私有属性-->
      <property name="maxPoolSize" value="30"/>
      <property name="minPoolSize" value="10"/>
      <!--关闭连接后不自动commit-->
      <property name="autoCommitOnClose"value="false"/>
      <!--获取连接超时时间-->
      <property name="checkoutTimeout" value="1000"/>
      <!--当获取连接失败重试次数-->
      <property name="acquireRetryAttempts" value="2"/>

    • 配置扫描的对象,如实体类以及mapper对象

      ``<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
      <!--注入数据库连接池-->
      <property name="dataSource" ref="dataSource"/>
      <!--配置mybatis全局配置文件:mybatis-config.xml-->
      <property name="configLocation" value="classpath:mybatis-config.xml"/>
      <!--扫描entity包,使用别名,多个用;隔开-->
      <property name="typeAliasesPackage" value="com.test.entity"/>
      <!--扫描sql配置文件:mapper需要的xml文件-->
      <property name="mapperLocations" value="classpath:mapper/*.xml"/>
      </bean>

    • 使用Mybatis 一种常用的做法是Dao接口不具体写实现类,而是用mapper和dao接口映射,由spring负责加载dao的实现类,所以要配置具体的dao坐标,以供mybatis扫描。

      <!--配置扫描Dao接口包,动态实现DAO接口,注入到spring容器-->
      <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
      <!--注入SqlSessionFactory-->
      <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
      <!-- 给出需要扫描的Dao接口-->
      <property name="basePackage" value="com.test.dao"/>
      </bean>

0 0
原创粉丝点击