在Java企业级开发中,不可避免的要对数据进行持久化,我们常见的数据持久化的技术又Mybatis技术、Spring自带的JdbcTemplate以及SpringBoot中的JPA技术。但是无论怎么样的持久化技术,其底层都是离不开数据库的支持。
在刚开始学习Java操作数据库的时候,最长用到的技术就是JDBC技术,也没有什么框架可以使用,我们就会编写大量的数据库连接语句,大量的数据库查询代码,这样就导致了代码相对比较繁琐,代码冗余度比较高。
为了解决这个问题出现了后来的Hibernate、Spring 封装的JdbcTemplate、Mybatis、JPA等框架。这些ORM框架都有一个共同的特点就是将数据源注入到容器中。在IOC容器中可以将数据源看做一个JavaBean对象来进行管理,从而达到了简化数据库操作的目标。那么接下来我们就来看看在Spring Boot中如何整合配置一个数据源。
单一数据源
在这里我们使用到的数据库连接是阿里的Druid数据库连接池。根据之前我们提到过的要想使用对应的场景,就需要引入对应场景下的starter即可。这里我们需要使用的是配置数据源相关的内容。所以需要引入的就是数据源相关的内容。代码如下。
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.11</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
阿里提供的Druid数据库连接池是比较强大的一款的数据库连接池工具,对于为什么要使用数据库连接池,在后续的文章中我们会详细介绍关于池化技术相关的概念,有兴趣的读者也可以自己查找相关池化技术的资料来阅读。Druid数据库连接池提供了数据监控、数据库加密等内容。
我们知道在引入了一个starter之后,会有一个对应的自动配置DruidDataSourceAutoConfigure,代码如下
@Configuration
@ConditionalOnClass(DruidDataSource.class)