JDBC(Java Database Connectivity)介绍
首先先介绍一下什么是JDBC?
1、 JDBC即Java数据库连接,是java语言中用来规范客户端程序如何来访问数据库应用程序接口,提供了诸如查询和更新数据库中数据的方法。(百度百科)
2、JDBC为访问不同的数据库提供了统一的途径,为开发者屏蔽了一些细节问题。
3、JDBC的目标是使Java程序员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无须对特定的数据库系统有过多的了解,从而大大简化和加快了开发的过程。
没有JDBC,Java程序访问数据库是是这样的:
有了JDBC,Java程序访问数据库时是这样的:
但其实真实的连接是这样的:
所以总体来说,JDBC是一组规范:接口。为访问不同数据库提供了统一的途径。
JDBC API (Application Programming Interface)—JDBC应用程序接口
JDBC API主要位于JDK中的java.sql包中(之后扩展的内容位于javax.sql包中),主要包括(斜体代表接口,需驱动程序提供者来具体实现):
DriverManager:负责加载各种不同驱动程序(Driver),并根据不同的请求,向调用者返回相应的数据库连接(Connection)。
Driver:驱动程序,会将自身加载到DriverManager中去,并处理相应的请求并返回相应的数据库连接(Connection)。
Connection:数据库连接,负责与进行数据库间通讯,SQL执行以及事务处理都是在某个特定Connection环境中进行的。可以产生用以执行SQL的Statement。
Statement:用以执行SQL查询和更新(针对静态SQL语句和单次执行)。但是存在sql注入问题,所以最好使用PareparedStatement来进行动态的操作。
PreparedStatement:用以执行包含动态参数的SQL查询和更新(在服务器端编译,允许重复执行以提高效率)。也就是所说的预编译处理。但是PreparedStatement extends Statement
CallableStatement:用以调用数据库中的存储过程。SQLException:代表在数据库连接的建立和关闭和SQL语句的执行过程中发生了例外情况(即错误)。
JDBC程序的编写步骤
首先需要导入相关的jar包。主要是指
以下是几种连接方式:
//方式一:直接使用Driver实现类进行数据库的连接
@Test
public void testConnection1() throws SQLException{
Driver driver = new Driver();
//jdbc:mysql : 协议
//localhost:ip地址
//3306:默认mysql的端口号
//test:数据库
String url =