在java中经常会用到JDBC工具类去连接数据库,今天说一下JDBC工具类
package com.test.util; //该工具类所在包的包名 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JDBC { private final static String DRIVER = "oracle.jdbc.OracleDriver"; //指明使用的Oracle驱动
//配置数据库的地址,其中localhost指的时本机,也可以根据需要换成具体的ip地址,1521是端口号,Oracle默认的是这个端口,orcl是监听器 private final static String URL = "jdbc:oracle:thin:localhost:1521:orcl"; private final static String USERNAME = "scott"; //登录数据库所用的用户名 private final static String PASSWORD = "hanwei"; //登录数据库所用的密码 public static void main(String[] args) { } public static Connection getConnection() { Connection con = null; try { Class.forName(DRIVER); //加载驱动 con = DriverManager.getConnection(URL, USERNAME, PASSWORD);//连接信息添加到getConnection方法里面 } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return con; } //这个方法是用来关闭数据库链接的,因为我们知道,当我们连接到数据库使用,如果不关闭的话,就会浪费数据库资源,即每次connection时都会产生一个statement,占用一个连接数,
一直向数据库索取连接,最终会令数据库连接数耗尽,报这个异常ORA-01000: maximum open cursors exceeded ,此方法在这写的好处是,当实现类继承JDBCUtil工具类时,使用了其连接
方法,也可使用其关闭方法,在一定程度上避免了代码冗余。 public static void close(Connection con, PreparedStatement pstmt, Statement stmt, ResultSet rs) { try { if (con != null) { con.close(); } if (pstmt != null) { pstmt.close(); } if (stmt != null) { stmt.close(); } if (rs != null) { rs.close(); } } catch (SQLException e) { e.printStackTrace(); } } }