一、springboot 简介
SpringBoot使开发独立的,产品级别的基于Spring的应用变得非常简单,你只需"just run"。 我们为Spring平台及第三方库提 供开箱即用的设置,这样你就可以有条不紊地开始。多数Spring Boot应用需要很少的Spring配置。
你可以使用SpringBoot创建Java应用,并使用 java -jar 启动它或采用传统的war部署方式。我们也提供了一个运行"spring 脚本"的命令行工具。
二、传统的DataSource配置
Java的javax.sql.DataSource接口提供了一个标准的使用数据库连接的方法。传统做法是,一个DataSource使用一个URL连
同相应的证书去初始化一个数据库连接。
开发中,一个项目中经常会使用到不知一个数据源,本文主要讲解如何在springboot下整合mybatis配置多数据源。主要对比下传统的xml配置数据源和springboot下的数据源配置。
首先介绍下传统的xml下如何配置多数据源
1、项目结构
使用maven构建的项目中,所有的数据源配置到DAO层,即图中 subscribecore.dal module
2、dal的目录结构
数据库对应的java实体类。
每个库对应的mapper文件。
每个mapper文件对应的到的xml文件。
生产环境\测试环境对应的数据源配置文件。
每个数据库对应的配置文件。
3、具体的配置文件介绍
以mysql库为例,详细展开对mysql数据配置的介绍
java实体类
使用的mysql库中的一张表,通过mybatis自动生成工具,生成了chartconfig类和chartconfigExample类。
msyql库的mapper文件
mapper文件对应的到的xml文件
mysql测试环境对应的数据源配置文件
myssql数据库对应的配置文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:cache="http://www.springframework.org/schema/cache" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd"> <context:component-scan base-package="com.zto.subscribecore"></context:component-scan> <!-- 数据源 --> <bean id="mysqlDataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <!-- 驱动名称 --> <property name="DriverClassName" value="${mysql.DriverClassName}"/> <!-- JDBC连接串 --> <property name="url" value="${mysql.url}"/> <!-- 数据库用户名称 --> <property name="username" value="${mysql.username}"/> <!-- 数据库密码 --> <property name="password" value="${mysql.password}"/> <!-- 连接池最大使用连接数量 --> <property name="maxActive" value="${mysql.maxActive}"/> <!-- 初始化大小 --> <property name="initialSize" value="${mysql.initialSize}"/> <!-- 获取连接最大等待时间 --> <property name="maxWait" value="${mysql.maxWait}"/> <!-- 连接池最小空闲 --> <property name="minIdle" value="${mysql.minIdle}"/> <!-- 逐出连接的检测时间间隔 --> <property name="timeBetweenEvictionRunsMillis" value="${mysql.timeBetweenEvictionRunsMillis}"/> <!-- 最小逐出时间 --> <property name="minEvictableIdleTimeMillis" value="${mysql.minEvictableIdleTimeMillis}"/> <!-- 测试有效用的SQL Query --> <property name="validationQuery" value="${mysql.validationQuery}"/> <!-- 连接空闲时测试是否有效 --> <property name="testWhileIdle" value="${mysql.testWhileIdle}"/> <!-- 获取连接时测试是否有效 --> <property name="testOnBorrow" value="${mysql.testOnBorrow}"/> <!-- 归还连接时是否测试有效 --> <property name="testOnReturn" value="${mysql.testOnReturn}"/> </bean> <bean id="mysqlTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="mysqlDataSource"/> </bean> <tx:annotation-driven transaction-manager="mysqlTransactionManager"/> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.zto.subscribecore.dal.mapper.mysql"/> <property name="sqlSessionFactoryBeanName" value="mysqlSqlSessionFactory"/> </bean> <bean id="mysqlSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="mysqlDataSource"/> <property name="mapperLocations" value="classpath*:com/zto/subscribecore/dal/mapper/mysql/*.xml"></property> <property name="typeAliasesPackage" value="com.zto.subscribecore.dal.domain"/> </bean> </beans>
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数260
191.63 KB下载数245
143.91 KB下载数1139
183.71 KB下载数640
644.84 KB下载数2752