使用JDBC API操作数据库的基本步骤
分析使用JDBC API操作数据库,进行CRUD基本步骤都相似。
- 加载和注册驱动
- 获取数据库连接
- 准备操作执行SQL的Statement对象
- 执行SQL
- 调用Statement对象的executeUpdate(String sql)执行SQL语句进行插入、修改、删除操作
- 调用Statement对象的executeQuery(String sql)执行SQL语句进行查询操作
- 处理执行结果
- CUD操作,根据返回的int值判断结果
- 查询操作,根据返回ResultSet结果集,获取查询数据
- 释放资源
总结:
- 加载和注册驱动,整个项目做一次即可
- 获取数据库连接可以封装到一个方法中
- 释放资源可以封装到一个方法中
编写工具类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); } } |
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/5329.html