什么是JDBC
JDBC是Java数据库连接,(Java Database Connectivity)的简称,是Java语言中用来规范客户端程序如何来访问关系型数据库的应用程序接口,提供了诸如增加,删除,修改,查询据库中数据的方法。
JDBC连接数据库的步骤
下面以MySQL为例,介绍一下JDBC连接数据库的步骤。
1.加载数据库驱动程序
Class.forName(“com.mysql.jdbc.Driver”);
2.定义要连接数据库的连接地址URL,地址URL的格式为:jdbc:<子协议>:<子名称>
String mysqlURL = “jdbc:mysql://localhost:port/dbName”;
3.使用连接字符串获取连接对象
Connection conn = DriverManager.getConnection(URL,USERNAME,PASSWORD);
4.创建语句对象
//创建一个statement语句对象
Statement smt = conn.createStatement();
//创建预编译语句对象
String SQL="SELECT * FROM EMP";
PreparedStatement pst = conn.prepareStatement(SQL);
//创建一个用于调用存储过程或函数的语句对象
String SQL=“{call printQuitEmp(?,?)}”;
CallableStatement cst = conn.prepareCall(SQL);
5.执行语句
Statement接口提供了3个方法执行sql语句,分别是executeQuery、executeUpdate和execute
executeQuery方法用于执行SELECT查询语句,并返回单个结果集,保存在ResultSet对象中
Statement smt = conn.createStatement();
String SQL = "SELECT * FROM EMP";
ResultSet rst = smt.executeQuery(SQL);
executeUpdate方法用于执行DML语句,包括INSERT,UPDATE和DELETE语句,返回值是一个整数。executeUpdate方法还可用于执行sql DDL语句,如CREATE TABLE, DROP TABLE等。此时返回值为0.
Statement smt = conn.createStatement();
String SQL="INSERT INTO EMP VALUES(?,?,?,?,?,?,?,?)";
int rst = smt.executeUpdate(SQL);
Execute方法既可以执行查询语句,也可以执行更新语句,常用于动态处理类型未知的SQL语句
6.返回结果集ResultSet对象
sql语句的执行的结果集保存在ResultSet对象,我们可以通过以下方式遍历此结果集。
Statement smt = conn.createStatement();
String SQL = “SELECT * FROM EMP”;
ResultSet rst = smt.executeQuery(SQL);
while(rst.next()) {
empno = rs.getString(1);
ename = rs.getString(2);
System.out.println(empno+”\t”+ename);
}
7.关闭连接。