欢迎访问昆山宝鼎软件有限公司网站! 设为首页 | 网站地图 | XML | RSS订阅 | 宝鼎邮箱 | 后台管理


新闻资讯

MENU

软件开发知识

SqlSessionTemplate.this.sqlSessionFactory)) { // force comm

点击: 次  来源:宝鼎软件 时间:2017-11-08

原文出处: 本日你不格斗来日诰日你就落伍

一、媒介

Mybatis作为一个优秀的存储进程和高级映射的耐久层框架,今朝在项目实践中运用的较量遍及,最近做项目时候发明白一种之前没见过的设置方法,这里总结下常用的设置方法以便备忘查找。

二、Spring中Mybatis的设置方案一

2.1 大都据源设置案例

(1)数据源设置
 <bean id="dataSourceForA" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
        <property name="url" value="${db1_url}" />
        <property name="username" value="$db1_user}" />
        <property name="password" value="${db1_passwd}" />
        <property name="maxWait" value="${db1_maxWait}" />
        <property name="maxActive" value="28" /> 
        <property name="initialSize" value="2" />
        <property name="minIdle" value="0" />
        <property name="timeBetweenEvictionRunsMillis" value="300000" />
        <property name="testOnBorrow" value="false" />
        <property name="testWhileIdle" value="true" />
        <property name="validationQuery" value="select 1 from dual" />
        <property name="filters" value="stat" />
    </bean>

(2)建设sqlSessionFactory
<bean id="sqlSessionFactoryForA" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="mapperLocations" value="classpath*:com/**/mapper1/*Mapper*.xml" /> 
        <property name="dataSource" ref="dataSourceForA" />
        <property name="typeAliasesPackage" value="com.zlx.***.dal" />
</bean>
    
(3)设置扫描器,扫描指定路径的mapper生成数据库操纵署理类
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="annotationClass" value="javax.annotation.Resource"></property>
        <property name="basePackage" value="com.zlx1.***.dal.***.mapper" />
        <property name="sqlSessionFactory" ref="sqlSessionFactoryForA" />
</bean>

(4)数据源设置
 <bean id="dataSourceForB" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
        <property name="url" value="${db_url}" />
        <property name="username" value="$db_user}" />
        <property name="password" value="${db_passwd}" />
        <property name="maxWait" value="${db_maxWait}" />
        <property name="maxActive" value="28" /> 
        <property name="initialSize" value="2" />
        <property name="minIdle" value="0" />
        <property name="timeBetweenEvictionRunsMillis" value="300000" />
        <property name="testOnBorrow" value="false" />
        <property name="testWhileIdle" value="true" />
        <property name="validationQuery" value="select 1 from dual" />
        <property name="filters" value="stat" />
    </bean>

(5)建设sqlSessionFactory
<bean id="sqlSessionFactoryForB" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="mapperLocations" value="classpath*:com/**/mapper/*Mapper*.xml" /> 
        <property name="dataSource" ref="dataSourceForB" />
        <property name="typeAliasesPackage" value="com.zlx.***.dal" />
</bean>
    
(6)设置扫描器,扫描指定路径的mapper生成数据库操纵署理类
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="annotationClass" value="javax.annotation.Resource"></property>
        <property name="basePackage" value="com.zlx.***.dal.***.mapper" />
        <property name="sqlSessionFactory" ref="sqlSessionFactoryForB" />
</bean>
  • (1)(2)(3)是一组设置, (4)(5)(6)是一组设置,设置指定的数据源到对应的包下扫描设置文件生成数据库操纵署理类。
  • (1)(4)别离建设了两个数据源,(2)(5)按照对应的数据源建设SqlSession工场,(3)(6)设置mybaits扫描器,按照对应的SqlSession工场和包路径生成署理后的数据库操纵类。
  • 2.1 道理简朴先容

    2.1.1 SqlSessionFactory道理