jdbc連線mysql連線資料庫工具類
阿新 • • 發佈:2018-12-30
以往寫程式碼,凡是牽扯到資料庫連線的,尤其是專案中的DAO層,每寫一個方法都要重複步驟:載入資料庫驅動,建立連線……使得程式碼十分的繁瑣,又很浪費時間,於是今天想了想,寫了一個連線資料庫的工具類,以便以後使用,經過測試,功能可以實現,其中的各個方法均可執行
程式碼如下
import java.sql.*; /** * @Description 連線資料庫工具類 * @Author 單繼重 * @Date 2016/10/26 14:50 */ public class DBConn { private String DRIVER = "com.mysql.jdbc.Driver"; private String USERNAME = "root"; private String PASSWORD = "root"; private String URL = "jdbc:mysql://localhost:3306/"; private Connection conn = null; private PreparedStatement ps = null; private ResultSet rs = null; /** * 第一步:載入資料庫驅動 * 第二步:建立資料庫連線 * @param dbName 資料庫名 */ public DBConn(String dbName){ try { Class.forName(DRIVER); URL = URL + dbName; conn = DriverManager.getConnection(URL,USERNAME,PASSWORD); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } /** * 第三步:編寫sql語句 * 第四步:建立sql語句執行器preparedStatement * @param sql sql語句 */ public void preparedStatement(String sql){ try { ps = conn.prepareStatement(sql); } catch (SQLException e) { e.printStackTrace(); } } /** * 第五步:將佔位符用引數替代 * @param index 佔位符索引(第一個為1) * @param value 引數值 */ public void setString(int index,String value){ try { ps.setString(index,value); } catch (SQLException e) { e.printStackTrace(); } } public void setInt(int index,int value){ try { ps.setInt(index,value); } catch (SQLException e) { e.printStackTrace(); } } /** * 第六步:執行sql語句,返回受影響行數 * @return 執行sql語句受影響行數 */ public int executeUpdate(){ try { //System.out.println(ps); return ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } return 0; } /** * 第六步:執行sql語句,返回結果集 * @return ResultSet */ public ResultSet executeQuery(){ try { return ps.executeQuery(); } catch (SQLException e) { e.printStackTrace(); } return null; } /** * 關閉連線以及其他 */ public void close(){ try{ if(rs != null){ rs.close(); } if(ps != null){ ps.close(); } if(conn != null){ conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } }
使用時,例項化本類,構造方法將資料庫名作為引數傳入,形成連結。