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);}}