Spring 数据源配置一:单一数据源
2024-08-29 06:10:21
最近遇到一个项目,需要访问都多个数据源,并且数据库是不同厂商(mysql, sqlserver).
所以对此做了一些研究,这里咱们采用渐进的方式来展开,先谈谈单一数据源配置。(稍后有时间会陆续补充其他文章)
先上代码吧:
1. database.properties 配置文件(配置多个数据源的 属性值)
#MYSQL
mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
mysql.jdbc.url=jdbc:mysql://localhost:3306/dragonfly?useUnicode=true&characterEncoding=utf-8
mysql.jdbc.username=master
mysql.jdbc.password=Master_12345
# SQL SERVER
mssql.jdbc.driverClassName=net.sourceforge.jtds.jdbc.Driver
mssql.jdbc.url=jdbc:jtds:sqlserver://192.168.1.153:1433/MES
mssql.jdbc.username=SA
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>
至此, 单一数据源的配置就完成了! (暂时不提供源代码, 请见谅)
最新文章
- 【Swift学习】Swift编程之旅---析构方法(十九)
- MATLAB学习笔记(十)&mdash;&mdash;MATLAB图形句柄
- 56个睿智帅气貌美的CTO大牛陪你叨逼叨
- drivers/mfd/Mfd-core.c
- Nginx 的RTMP打流模块配置
- 【最小生成树】BZOJ 1196: [HNOI2006]公路修建问题
- Selection sort
- php 返回json 解析 报Wide character in print
- solr error logs org.apache.solr.common.SolrException: ERROR: [doc=17] unknown field alias
- SEO学习之路
- app被Rejected 的各种原因翻译(转)
- jfinal常见问题
- PRINCE2有用吗?
- (2-2)SpringCloud-服务注册到Eureka Server集群并消费
- android使用smack实现简单登录功能
- docker:构建nginx+php-fpm镜像(一):构建nginx自启动镜像
- 数组指针与指针数组(good)
- php将中文符号全部替换为英文符号
- 解决 login.live.com onedrive.live.com 等微软国外网站打不开问题
- Sublime Text 3配置Minify压缩,格式化css,js,html,json,svg
热门文章
- mapping 详解3(Meta-Fields)
- [转]Creating Unit Tests for ASP.NET MVC Applications (C#)
- Oracle恢复已删除数据
- 使用开源库PhotoView
- spring中加入log4j
- python 笔记(一)
- Java获取线程的对象和名称
- Android NDK 环境搭建 + 测试例程
- VPN client on linux debian
- 如何在Linux下创建与解压zip, tar, tar.gz和tar.bz2文件