zoukankan      html  css  js  c++  java
  • Spring 数据源配置一:单一数据源

    最近遇到一个项目,需要访问都多个数据源,并且数据库是不同厂商(mysql,  sqlserver).

     所以对此做了一些研究,这里咱们采用渐进的方式来展开,先谈谈单一数据源配置。(稍后有时间会陆续补充其他文章)

    先上代码吧:

    1.   database.properties 配置文件(配置多个数据源的 属性值)

     1 #MYSQL
     2 mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
     3 mysql.jdbc.url=jdbc:mysql://localhost:3306/dragonfly?useUnicode=true&characterEncoding=utf-8
     4 mysql.jdbc.username=master
     5 mysql.jdbc.password=Master_12345
     6 # SQL SERVER
     7 mssql.jdbc.driverClassName=net.sourceforge.jtds.jdbc.Driver
     8 mssql.jdbc.url=jdbc:jtds:sqlserver://192.168.1.153:1433/MES
     9 mssql.jdbc.username=SA
    10 mssql.jdbc.password=123456

    2.   引入上述配置文件到applicationContext.xml 中

        <bean  id="configProperties"  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
            <property name="ignoreResourceNotFound" value="false" />
            <property name="locations">
                <list>
                    <!-- 这里支持多种寻址方式:classpath和file -->
                     <value>classpath:/database.properties</value>
                     <value>classpath:/config.properties</value>  
                    <!-- 推荐使用file的方式引入,这样可以将配置和代码分离 -->
                   <!-- <value>file:/opt/demo/config/demo-message.properties</value>-->
                </list>
            </property>
        </bean>

    3.  配置datasource  /   sessionFactory  / MapperScannerConfigure

     <bean id="mysqlDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName"><value>${mysql.jdbc.driverClassName}</value></property>
            <property name="url"><value>${mysql.jdbc.url}</value></property>
            <property name="username"><value>${mysql.jdbc.username}</value></property>
            <property name="password"><value>${mysql.jdbc.password}</value></property>
        </bean>
    
       
        <bean id="mysqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <property name="dataSource" ref="mysqlDataSource" />
            <!-- 指定sqlMapConfig总配置文件,订制的environment在spring容器中不在生效-->
             <property  name="configLocation"  value="classpath:mybatis-config-mysql.xml"/>
            <!--指定实体类映射文件,可以指定同时指定某一包以及子包下面的所有配置文件,mapperLocations和configLocation有一个即可,
             当需要为实体类指定别名时,可指定configLocation属性,再在mybatis总配置文件中采用mapper引入实体类映射文件 -->
             <property  name="mapperLocations">
                   <list>
                    <value>classpath*:/mysqlmapper/*Mapper.xml</value>
                </list>
             </property>
        </bean>
    
        <bean  class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <property name="basePackage" value="com.robin.it.permission.dao" />
            <!-- optional unless there are multiple session factories defined -->
            <property name="sqlSessionFactoryBeanName" value="mysqlSessionFactory" />
        </bean>
         

    注: 黄色高亮部分大家请注意,这个要和下一张将要讲的多数据源有关系。

    4.    Spring + Mybatis  的分页控件配置文件: mybatis-config-mysql.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
    
    <configuration>
         <settings>
            <setting name="cacheEnabled" value="false" />
            <setting name="lazyLoadingEnabled" value="false" />
            <setting name="aggressiveLazyLoading" value="false"/>
            <setting name="jdbcTypeForNull" value="NULL"/>
        </settings>
        <plugins>
            <plugin interceptor="com.github.miemiedev.mybatis.paginator.OffsetLimitInterceptor">
                <property name="dialectClass" value="com.github.miemiedev.mybatis.paginator.dialect.MySQLDialect"/>
            </plugin>
        </plugins>
        
    </configuration>

    至此, 单一数据源的配置就完成了! (暂时不提供源代码, 请见谅)

  • 相关阅读:
    第八周编程总结
    第五周课程总结&试验报告(三)
    第四周课程总结&试验报告(二)
    第三周课程总结&实验报告一
    2019春总结作业
    第一次随笔
    我人生中影响最大的三位老师
    第十二周作业
    第十一周编程总结
    第十周作业
  • 原文地址:https://www.cnblogs.com/dragonflyyi/p/4706222.html
Copyright © 2011-2022 走看看