经过上一节的学习,咱们已经学会如何应用Spring中的JdbcTemplate来完成对MySQL的数据库读写操做。接下来经过本篇文章,重点说说在访问数据库过程当中的一个重要概念:数据源(Data Source),以及Spring Boot中对数据源的建立与配置。java
基本概念
在开始说明Spring Boot中的数据源配置以前,咱们先搞清楚关于数据访问的这些基本概念:mysql
什么是JDBC?git
Java数据库链接(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。咱们一般说的JDBC是面向关系型数据库的。github
JDBC API主要位于JDK中的java.sql包中(以后扩展的内容位于javax.sql包中),主要包括(斜体表明接口,需驱动程序提供者来具体实现):spring
DriverManager:负责加载各类不一样驱动程序(Driver),并根据不一样的请求,向调用者返回相应的数据库链接(Connection)。
Driver:驱动程序,会将自身加载到DriverManager中去,并处理相应的请求并返回相应的数据库链接(Connection)。
Connection:数据库链接,负责与进行数据库间通信,SQL执行以及事务处理都是在某个特定Connection环境中进行的。能够产生用以执行SQL的Statement。
Statement:用以执行SQL查询和更新(针对静态SQL语句和单次执行)。PreparedStatement:用以执行包含动态参数的SQL查询和更新(在服务器端编译,容许重复执行以提升效率)。
CallableStatement:用以调用数据库中的存储过程。
SQLException:表明在数据库链接的创建和关闭和SQL语句的执行过程当中发生了例外状况(即错误)。
什么是数据源?sql
能够看到,在java.sql中并无数据源(Data Source)的概念。这是因为在java.sql中包含的是JDBC内核API,另外还有个javax.sql包,其中包含了JDBC标准的扩展API。而关于数据源(Data Source)的定义,就在javax.sql这个扩展包中。数据库
实际上,在JDBC内核API的实现下,就已经能够实现对数据库的访问了,那么咱们为何还须要数据源呢?主要出于如下几个目的:服务器
封装关于数据库访问的各类