1 整合 JDBC
使用JDBC需要导入:spring-boot-starter-jdbc
和数据库驱动依赖。
一、【数据库连接配置】:
访问数据库,只需要在application.properties
/application.yml
中配置:
1 | spring: |
数据源相关配置参考:
DataSourceProperties
。
二、【自动配置原理】:
1、DataSourceConfiguration
根据配置创建数据源,默认使用Hikari连接池。可以使用spring.datasource.type
指定自定义的数据源类型。
Spring Boot 1.5.x 的默认数据源是Tomcat数据源连接池。Spring Boot 2.x改成了Hikari。
Spring Boot 默认支持
tomcat.jdbc.pool.DataSource
、HikariDataSource
、dbcp.BaseDataSource
和自定义数据源。
2、DataSourceAutoConfiguration
中有一个DataSourceInitializer
,是一个ApplicationListener
。
作用:1)运行建表语句。2)、运行插入数据的语句。
默认文件名称规则:建表sql:
schema-*.sql
。数据sql:data-*.sql
。如果自定义sql文件名:可以使用
spring.datasource.schema
来指定文件(可以指定多个)。
3、自动配置JdbcTemplate
用来操作数据库。
2 使用自定义数据源:druid
一、【引入druid数据源依赖】:
1 | <dependency> |
二、【指定数据源的类型】:
使用spring.datasource.type
来制定数据源的类型。
1 | spring: |
三、【druid配置】:
通过一、二两步的操作,数据源已经切换到druid了,但如果需要对druid连接池做一些配置:
1 | spring: |
以上druid配置直接写在配置文件里是不生效的。需要通过配置类,将这个配置想和DataSource
绑定。
1 |
|
使用
@ConfigurationProperties(prefix = "spring.datasource")
将以spring.datasource
为前缀的配置想和DruidDataSource
绑定。
四、【配置druid的监控】:
1、配置一个管理后台的Servlet
:
1 |
|
2、配置一个监控的filter
:
1 |
|
3 整合 Mybatis
需要引入mybatis-spring-boot-starter
依赖和数据库驱动依赖。
1 | <dependency> |
3.1 注解版
一、【常用注解】:
@Mapper
:标注该类是操作数据库的mapper类。
@MapperScan
:Mapper类的包扫描。
@Select
:查询。
@Delete
:删除。
@Insert
:插入。
@Update
:更新。
@Options
:能够设置缓存时间,能够为对象生成自增的主键值
二、【自定义mybatis配置规则】:
给容器添加一个ConfigurationCustomizer
。
1 | .springframework.context.annotation.Configuration |
可以使用
@MapperScan
批量扫描所有的Mapper接口。就不用在每个mapper接口上加@Mapper
注解。
【小技巧】:
增加控制台打印sql语句:
在
application.properties
/application.yml
配置:1
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
3.2 配置文件版
一、【指定配置文件位置】:
1 | mybatis: |
mybatis.config-location
指定全局配置文件。
mybatis.mapper-locations
指定mapper映射文件的位置。
4 整合 JPA
需要引入spring-boot-starter-data-jpa
和依赖和数据库驱动依赖。
一、【对JPA的配置】:
使用spring.jpa
对JPA进行配置。
1 | spring: |
所有关于JPA的配置,在
JPAProperties
中。
二、【编写模型和DAO接口】:
模型采用JPA规范的注解进行标注。
编写DAO接口,继承 JPARepository
接口,就有了增删改查和分页排序的功能,不需要实现类。