一、基本步骤
Connection conn = null;
Statement st = null;
ResultSet rs = null;
try {
//1.注册驱动
//DriverManager.registerDriver(new com.mysql.jdbc.Driver()),此方式也可以,但是会注册两次驱动,因为Driver内部有一个 静态方法会自动注册一次,而驱动只需要注册一次就行
Class.forName("com.mysql.jdbc.Driver"); //通过类名获取类的字节码文件加载到JVM
//2.建立连接
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/travel","root","root");
//3.创建statement,跟数据库打交道,一定需要这个对象
st = conn.createStatement();
//4.创建sql语句
String sql = "select * from tab_user";
//5.执行查询,并返回结果集
rs = st.executeQuery(sql);
//6.遍历结果集
while(rs.next())
{
String username = rs.getString("username");
String password = rs.getString("password");
String name = rs.getString("name");
System.out.println(username+"==="+password+"==="+name);
}
//按创建的反向顺序关闭连接
} catch (Exception e) {
e.printStackTrace();
}finally {
//7.关闭数据库,具体关闭步骤写一个专用工具类实现
JDBCUtil.releaseJDBC(conn,st,rs);
}
二、关闭数据库专用类
public class JDBCUtil {
//提供外部调用关闭的方法
public static void releaseJDBC(Connection conn,Statement st,ResultSet rs){
releaseResultSet(rs);
releaseStatement(st);
releaseConnection(conn);
}
//关闭Connection连接
private static void releaseConnection(Connection conn) {
try {
if(conn != null){
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
conn = null;
}
}
//关闭Statement连接
private static void releaseStatement(Statement st) {
try {
if(st != null){
st.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
st = null;
}
}
//关闭ResultSet连接
private static void releaseResultSet(ResultSet rs) {
try {
if(rs != null){
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
rs = null;
}
}
}