1、应用JDBC API操作数据库的根本步骤
剖析应用JDBC API操作数据库,进行CRUD根本步骤都类似。
加载和注册驱动
获取数据库连贯
筹备操作执行SQL的Statement对象
执行SQL
调用Statement对象的executeUpdate(String sql)执行SQL语句进行插入、批改、删除操作
调用Statement对象的executeQuery(String sql)执行SQL语句进行查问操作
解决执行后果
CUD操作,依据返回的int值判断后果
查问操作,依据返回ResultSet后果集,大数据培训获取查问数据
开释资源
总结:
加载和注册驱动,整个我的项目做一次即可
获取数据库连贯能够封装到一个办法中
开释资源能够封装到一个办法中
2、编写工具类JDBCUtils
package com.atguigu.utils;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
/*
工具类:
1、注册驱动:只有运行一次
2、获取连贯
3、敞开资源
*/
public class JDBCUtils {
private static String drivername;
private static String url;
private static String user;
private static String password;
private static Properties pro = new Properties();
static{
try {
//加载,读取jdbc.properties配置的信息
//pro.load的作用是把jdbc.properties文件中配置的信息,一一put到pro这个map中
pro.load(ClassLoader.getSystemClassLoader().getResourceAsStream(“jdbc.properties”));
// drivername = pro.getProperty(“key”)
drivername = pro.getProperty(“drivername”);
url = pro.getProperty(“url”);
user = pro.getProperty(“user”);
password = pro.getProperty(“password”);
//注册驱动,加载驱动
Class.forName(drivername);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static Connection getConnection()throws SQLException{
Connection conn = DriverManager.getConnection(url, user, password);
return conn;
}
public static void closeQuietly(Connection conn){
try {
if(conn!=null){
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void closeQuietly(Statement st){
try {
if(st!=null){
st.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void closeQuietly(ResultSet rs){
try {
if(rs!=null){
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void closeQuietly(Statement st,Connection conn){
closeQuietly(st);
closeQuietly(conn);
}
public static void closeQuietly(ResultSet rs,Statement st,Connection conn){
closeQuietly(rs);
closeQuietly(st);
closeQuietly(conn);
}
}
发表回复