JDBC
JDBC为java开发者使用数据库提供了统一的编程接口,由一组java类和接口组成。是java程序与数据库系统通信的标准API——开发人员可以使用纯java的方式来连接数据库,并执行操作
数据库驱动
数据库与java连接,数据库厂商自己必须实现JDBC接口。所以JDBC的实现就叫该数据库的数据库驱动
JDBC访问数据库的流程
a.驱动管理器(加载JDBC驱动程序)——>b.连接数据库(建立与数据库的连接)——>
c.SQL语句(发送SQL查询)——>d.结果集(得到查询结果)
a.在java中是标准的接口类,需要把厂商的驱动类加载进去
b.通过驱动类建立与数据库的连接
c.JDBC/java程序 发送语句给MySQL服务器
d.执行后,返回结果
JDBC常用接口
Driver接口
- 对于java开发者而言,只需要使用Driver接口即可
- 在编程中要连接数据库,必须先装载特定厂商的数据库驱动程序。不同的数据库有不同的装载方法。
- 装载MySQL驱动(通过传入的路径,加载指令)
Class.forName(“com.mysql.jdbc.Driver”); - 装载Oracle驱动
Class.forName(“oracle.jdbc.driver.OracleDriver”);
**驱动:各个数据库厂商实现的Sun公司提出的JDBC接口。——对Connection等接口的实现类的jar文件 **
DriverManager接口
- DriverManager是JDBC的管理层,作用于用户和驱动程序之间
- DriverManager跟踪可用的驱动程序,并在数据库和相应的驱动程序之间建立连接
Connection接口
- Connection与特定数据库的连接,在连接上下文中执行SQL语句并返回结果
- DriverManager的getConnection()方法建立在JDBC URL中定义的数据库Connection连接上
- 连接MySQL数据库
Connection con = DriverManager.getConnection(“jdbc:mysql://host:port/database”,“user”,“password”); - 连接ORACLE数据库
Connection con = DriverManager.getConnection(“jdbc:oracle:thin:@host:port:database”,“user”,“password”);
package com.first.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Demo01 {
public static void main(String[] args) {
Connection conn = null;
try {
//加载驱动类
Class.forName("com.mysql.jdbc.Driver");
long start = System.currentTimeMillis();
//建立连接(连接对象内部其实包含了Socket对象,
//是一个远程的连接。比较耗时!这是Connection对象管理的一个要点!)
//真正开发中,为了提高效率,都会使用连接池来管理连接对象!
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc","root","root");
long end = System.currentTimeMillis();
System.out.println(conn);
//查看自己机器和自己机器的数据库相连需要多久
System.out.println("建立连接,耗时:"+(end-start)+"ms毫秒");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
if(conn!=null){
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}