JDBC例子之MySQL篇
阿新 • • 發佈:2018-11-19
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class DBUtil { private static final String DRIVER="com.mysql.jdbc.Driver"; private static final String DRIVER_URL="jdbc:mysql://127.0.0.1:3306/MyTable"; private static final String DRIVER_USER="root"; private static final String DRIVER_PWD="123"; protected Connection conn=null; protected PreparedStatement pst=null; protected ResultSet rs=null; //配置驅動 static{ try { Class.forName(DRIVER); } catch (ClassNotFoundException e) { e.printStackTrace(); } } //連結資料庫 public static Connection getConnection (){ Connection conn=null; try { conn=DriverManager.getConnection(DRIVER_URL, DRIVER_USER, DRIVER_PWD); } catch (SQLException e) { e.printStackTrace(); } return conn; } //查詢 public ResultSet commonQuery(String sql,Object...params) throws SQLException{ conn=getConnection(); pst=conn.prepareStatement(sql); if(params !=null && params.length>0){ setValue(pst,params); } rs=pst.executeQuery(); return rs; } //增刪改 public int commonUpdate(String sql,Object...params) throws SQLException{ int result =0; conn=getConnection(); try { pst=conn.prepareStatement(sql); if(params !=null && params.length>0){ setValue(pst,params); } result=pst.executeUpdate(); }finally{ closeAll(conn, pst, rs); } return result; } private void setValue(PreparedStatement pst2, Object[] params) throws SQLException { for(int i=0;i<params.length;i++){ pst2.setObject(i+1, params[i]); } } //關閉資料庫 public void closeAll(Connection conn,PreparedStatement pst,ResultSet rs){ try { if(rs !=null){ rs.close(); } if(pst !=null){ pst.close(); } if(conn !=null){ conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } }