Spring Boot系列之八 多数据源配置整体介绍
来源:互联网 发布:unity3d行走播放动画 编辑:程序博客网 时间:2024/06/16 16:27
简介
前面两章在介绍Spring Boot整合MyBatis的时候简单的看了一下Spring Boot如何去配置单一的数据源.并没有详细的单独去看数据源的配置.
本文就简要介绍下在Spring Boot中对内置内存数据库H2,多数据源等的配置.
由于本文档的代码基本都是基于MyBatis搭建,所以关于Spring-Data-JPA的内容并不能展示出来,Spring Boot中对于Repository/Dao的设计并不能完美的体现出来,不过,各个持久层框架自有它自己的好处,无所谓谁坏谁差,还是要看我们具体怎么去应用。
对内置内存数据库的支持
基于Spring Boot的自动化配置,其实我们也仅仅需要在pom.xml文件中引入我们想使用的内置内存数据库的jar依赖即可。Spring Boot会自动扫描classpath下是否有某个jar包,如果有,就加载默认配置。
pom.xml引入依赖
基于mybatis的配置:
使用内置内存数据库需要引入`spring-jdbc`,其在`mybatis-spring-boot-starter`已经包含。
实际使用过程中,因为内置的内存数据库并不能保留表结构,所以,如果使用JPA就需要在配置文件中将ddl语句设置为`spring.jpa.hibernate.ddl-auto=create`.
如果使用mybatis,我们也可以在application.yml或者application.properties配置schema:db/xx.sql来执行数据库初始化的sql文件.
使用生产数据库
### Spring Boot自动配置对数据库连接池的选择原则:
优先选择使用Tomcat的数据库连接池
如果存在HikariCP,则启用
如果存在Commons DBCP,则启用
如果存在Commons DBCP2,则启用
按照官方文档的说法,我们在引入`mybatis-spring-boot-starter`其实已经引入了`tomcat-jdbc`的依赖,也就使用了tomcat的数据库连接池。
当然我们也可以配置自己的数据库连接池,比如配置阿里爸爸的`Druid`来作为我们的数据库连接池工具
使用JDBC
请看: https://github.com/sunshineasbefore/veryjava.spring.boot/tree/master/jdbc
两个数据源的配置
最基本的配置
进阶
今天多说一点就是,两个数据源分别针对不同的包下的mapper文件:
JDBCDataSourceConfig
SSABDataSourceConfig
对比这两个类,其不同点在于
@MapperScan的扫描路径不一致,这个的用处主要在于用不同的包区分不同数据源对于数据的操作.
@ConfigurationProperties的prefix不一致,这个用来区分不同的数据源.
JDBCDataSourceConfig类中的dataSource()多了一个@Primary注解,指定某一个dataSource为主要的datasource.
代码
本文限于篇幅原因,不能展示所有的代码,如果想要完整的代码示例,请移步 https://github.com/sunshineasbefore/veryjava.spring.boot/tree/master/datasources
支持请点赞,不喜勿喷.
每天一点点,成长多一点.
- Spring Boot系列之八 多数据源配置整体介绍
- spring boot Mybatis多数据源配置
- spring boot多数据源配置
- spring boot 多数据源配置
- spring boot + mybatis 多数据源配置
- Spring Boot多数据源配置
- Spring boot配置多数据源
- Spring Boot学习(七)之Web应用使用Spring-data-jpa多数据源配置
- Spring Boot + Spring Data JPA项目配置多数据源
- spring-boot 使用 spring-data-jpa多数据源配置
- Spring Boot,Spring Data JPA多数据源支持配置
- Spring Boot 多数据源
- Spring Boot 多数据源
- Spring Boot多数据源
- Spring Boot 多数据源
- Spring Boot 多数据源
- Spring Boot 多数据源
- spring boot多数据源
- 快速排序
- XML 简介
- WEBGL的测试网站和基础知识
- gulp入门指导
- 数据库事务及其四大特性
- Spring Boot系列之八 多数据源配置整体介绍
- XRecyclerView的Header包含ListView冲突解决(XRecyclerView嵌套ListView)
- MRT(MODIS reprojection tools)下载及安装
- oj219. Contains Duplicate II
- Qt数据库之数据库常用操作
- 电脑系统崩溃如何找回桌面文件?简单,有效!
- 24点游戏
- C# List 排序
- 锋利的jQuery总结(二)