Spring Boot 的数据库管理功能非常强大,它到底可以支持哪些数据库,访问这些数据库的功能又是如何实现的,这些功能有没有欠缺或者需要扩展的地方,如果需要扩展应该如何改进?如果你对这些问题感兴趣,那么可以开始这一章的学习。
1连接数据源的源代码分析
要使用数据库,首先必须与数据库服务器建立连接。对于关系型数据库,SpringBoot连接数据源―般都采用JDBC ( Java Data Base Connectivity)的方式来实现。其他类型的数据库却使用各自独立的方式来建立连接。代码清单11-1是JDBC的一些连接参数的定义,使用关系型数据库时,Spring Boot 的自动配置将尝试从应用的配置文件中读取这些配置项。
代码清单11-1数据源配置参数定义源代码
1.1数据源类型和驱动
JDBC连接数据源必须指定数据源类型和数据库驱动程序,在程序中用driver-ClassName来指定数据库驱动程序的名称,例如使用MySQL的驱动程序是com.mysql.jdbc.Driver,而数据源的类型默认使用org.apache.tomcat.jdbc.pool.DataSource,如代码清单11-2所示。
代码清单11-2JDBC的DataSourceBuilder源代码片段
数据源的类型可以通过配置更改,这一功能给我们使用其他数据源提供了很大的便利。例如在第4章中使用Druid数据源时,就是使用如下的配置来指定数据源类型,即代码中的type设定为com.alibaba.druid.pool.DruidDataSource。
1.2支持的数据库种类
Spring Boot 默认几乎可以支持现有的所有数据库,代码清单11-3是DatabaseDriver定义一个枚举类的源代码,从这个数据库驱动的定