jdbcUtils 类是数据库连接与关闭操作,将其封装到这个类中。
定义:
private static String url = "jdbc:mysql://localhost:3306/tsgl?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=true"; //url中的status为数据库库名private static String user = "root"; //数据库登陆账号private static String password = "abc123"; //数据库登陆密码private static Connection con = null;
连接功能:
public static Connection getConn() {try {// 1.注册驱动Class.forName("com.mysql.cj.jdbc.Driver");// 2.获取连接con = DriverManager.getConnection(url, user, password);} catch (Exception e) {e.printStackTrace();}return con;}
有结果集关闭:
ublic static void closeConn(Connection conn, Statement stmt, ResultSet rs){if(rs != null){try {rs.close();} catch (SQLException e) {e.printStackTrace();}rs = null;}if(stmt != null){try {stmt.close();} catch (SQLException e) {e.printStackTrace();}stmt = null;}if(conn != null){try {conn.close();} catch (SQLException e) {e.printStackTrace();}conn = null;}}
有结果集关闭:
public static void closeConn(Connection conn, Statement stmt){if(stmt != null){try {stmt.close();} catch (SQLException e) {e.printStackTrace();}stmt = null;}if(conn != null){try {conn.close();} catch (SQLException e) {e.printStackTrace();}conn = null;}}
关于类 的调用:
目前我所遇到的问题都是数据库操作的方法中一般需要调用该方法。
举例
public void changeAutor(int Id,String autor) {//修改作者名字Connection conn = null; //PreparedStatement stmt = null; //try {conn = jdbcUtils.getConn(); //conn用来接受getConn方法的结果String sql = "update book set autor = ? where id = ?";stmt = conn.prepareStatement(sql);stmt.setString(1, autor);stmt.setInt(2, Id);stmt.executeUpdate();} catch (SQLException e) {e.printStackTrace();}finally{jdbcUtils.closeConn(conn, stmt);}System.out.println("性别修改成功!!");}
