首页 > 代码库 > 【学习笔记】JDBC数据库连接技术(Java Database Connectivity)
【学习笔记】JDBC数据库连接技术(Java Database Connectivity)
一、JDBC简介
Java是通过JDBC技术实现对各种数据库的访问的,JDBC是Java数据库连接技术的简称。它可以把数据持久保存,是一种持久化机制。
1.持久化
持久化就是将程序中的数据在瞬时状态和持久状态间转换的机制。
2.JDBC API
Connection连接接口
Statement接口
ResultSet结果集接口
PerparedStatement接口
3.JDBC Driver Manager(驱动程序管理器)
SUN公司提供,它是JDBC体系结构的支柱,负责管理各种不同的驱动(java.sql包)
4.JDBC驱动
JDBC驱动由各个数据库厂商或第三方中间件厂商提供,负责连接各种不同的数据库。
在开发Java应用程序时,我们只需要正确加载JDBC驱动,正确调用JDBC API,就可以进行数据库访问。
二、JDBC API
1.JDBC API主要做三件事:与数据库建立连接、发送SQL语句、处理结果。
DriverManager类:装载驱动程序,并为创建新的数据库连接提供支持。
Connection类:负责连接数据库并担任传输数据的任务。
Statement类:由Connection类产生,负责执行SQL语句。
ResultSet类:负责保存和处理Statement执行后所产生的结果。
PreparedStatement类:Statement的子接口,具有高安全性、高性能、高可读性和高可维护性的优点。
三、JDBC访问数据库的步骤
1.加载JDBC驱动
使用Class.forName()方法将给定的JDBC驱动类加载到Java虚拟机。若系统中不存在给定的类,则会引发ClassNotFoundException异常。
2.与数据库建立连接
DriverManager类是JDBC的管理层,作用于用户和驱动程序之间。跟踪可用的驱动程序,并在数据库和相应的驱动程序之间建立连接。当调用getConnection()方法时,DriverManager类首先从已加载的驱动程序列表中找到一个可以接收该数据库URL的驱动程序,然后使用相关数据连接到数据库,创建连接对象并返回引用。
3.发送SOL语句,并得到返回结果
一旦建立连接,就使用该链接创建Statement接口的对象,并将语句传递给它所连接的数据库:查询操作返回类型为ResultSet的结果集。
4.处理返回结果
结果集:
while(rs.next()){
int id = rs.gitInt("id");
String name = rs.getString("name");
System.out.println(id+"\t"+name);
}
四、两种常见的驱动方式
1.JDBC-ODBC桥连方式(驱动类:“sun.jdbc.odbc.JdbcOdbcDriver”数据库连接字符串以“jdbc:odbc:”开始,后面跟随数据源名称)
下载ODBC驱动
配置ODBC数据源
2.使用纯Java方式连接数据库
常见的错误有以下几类:
JDBC驱动类的名称书写错误,出现ClassNotFoundException异常;
数据库连接字符串,数据库用户名、密码书写错误,出现SQLException异常;
数据库操作结束后,没有关闭数据库连接,导致仍旧占有系统资源。
关闭数据库连接的语句没有放到finally语句中,导致语句可能没有被执行。
3.在实际项目开发中,为了避免可能出现的乱码问题,将制定数据库连接的编码集为utf-8,URL连接:
url = jdbc:mysql://126.0.0.1:3306/epet?useUnicode=true&characterEncoding=utf-8;
【学习笔记】JDBC数据库连接技术(Java Database Connectivity)