JDBC本质:
其实是官方(sun公司)定义的一套操作所有关系性数据库的规则,即接口;
各个数据库厂商去实现这套接口,提供数据库驱动jar包;
我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。
写出一个自己捕获异常,让资源可以完全释放的代码:
import java.sql.*;
public class JDBCDemo1 {
public static void main(String[] args) {
//声明好资源
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2.获取连接数据库对象 Connection
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/java","root","root");
//3.准备好sql语句
String sql = "select * from student";
//4.获取执行sql的对象
stmt = conn.createStatement();
//5.执行sql
rs = stmt.executeQuery(sql);
//6.处理结果
while (rs.next()){
int s_id = rs.getInt("s_id");
String s_name = rs.getString("s_name");
System.out.println(s_id+" "+s_name);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
//7.在finally代码块中释放资源
if(rs !=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(stmt !=null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn !=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
结果:
1 Evan
2 Tom
3 Tony