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;
/*
工具类:
【如何使用JDBC API操作数据库】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);
}}