多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > 數據庫應用 > JDBC工具類

JDBC工具類

來源:程序員人生   發布時間:2015-01-22 08:16:27 閱讀次數:3088次

1、連接數據庫

      

package com.society.demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; /** * 連接數據庫 * * @author liyulin lyl010991@126.com * @version 1.0 2015-01⑴4 */ public class DBConnection { private Connection con = null; private String user = "root"; private String password = "lyl123"; private String serverIp = "localhost"; private String database = "test"; public DBConnection() { } public DBConnection(String database, String serverIp) { this.database = database; this.serverIp = serverIp; } /** * 加載驅動 建立數據庫連接 * * @throws ClassNotFoundException * @throws InstantiationException * @throws IllegalAccessException * @throws SQLException */ public void connect() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException { Properties pr = new Properties(); pr.put("characterEncoding", "UTF⑻"); pr.put("useUnicode", "TRUE"); pr.put("user", this.user); pr.put("password", this.password); Class.forName("com.mysql.jdbc.Driver").newInstance(); con = DriverManager.getConnection("jdbc:mysql://" + this.serverIp + "/" + this.database, pr); } /** * 關閉連接 */ public void disconnect() { try { if (con != null) { con.close(); } } catch (SQLException ex) { ex.printStackTrace(); } } /** * 獲得Connection對象 */ public Connection getCon() { return con; } }

2、操作數據庫

package com.society.demo; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; /** * JDBC工具類 * * @author liyulin lyl010991@126.com * @version 1.0 2015-01⑴4 */ public class JDBC { private DBConnection db = null; private Connection conn = null; private PreparedStatement ps = null; private ResultSet rs = null; /** * 建立數據庫連接 */ public Connection connectDB() { db = new DBConnection(); try { db.connect(); conn = db.getCon(); } catch (Exception ex) { Logger.getLogger(JDBC.class.getName()).log(Level.SEVERE, null, ex); } return conn; } /** * 關閉數據庫 */ public void closeDB() { try { if (rs != null) { rs.close(); } if (ps != null) { ps.close(); } if (conn != null) { conn.close(); } } catch (SQLException ex) { Logger.getLogger(JDBC.class.getName()).log(Level.SEVERE, null, ex); } } /** * 履行1條sql語句(增、刪、改) * * @param sql 插入sql語句 * @param params sql語句中?所對應的值 * @return 是不是插入成功 */ public boolean executeSQL(String sql, Object[] params) { boolean tag = false;// 操作是不是成功標志 connectDB(); try { ps = conn.prepareStatement(sql); if (null != params) { for (int i = 0, paramsSize = params.length; i < paramsSize; i++) { ps.setObject(i + 1, params[i]); } } ps.executeUpdate(); tag = true; } catch (Exception e) { e.printStackTrace(); } finally { closeDB(); return tag; } } /** * 批量操作(增、刪、改) * * @param sqls 插入sql語句 * @param objs sql參數(1個2維數組) * @return */ public boolean executeBatch(List<String> sqls, Object[][] objs) { boolean tag = false;// 批量操作是不是成功標志 connectDB(); try { conn.setAutoCommit(false); if (null != objs) { // sql參數為null for (int i = 0, size = sqls.size(); i < size; i++) { String sql = sqls.get(i); ps = conn.prepareStatement(sql); if (null != objs[i]) { for (int j = 0, paramsSize = objs[i].length; j < paramsSize; j++) { ps.setObject(j + 1, objs[i][j]); } } ps.executeUpdate(); } } else { for (int i = 0, size = sqls.size(); i < size; i++) { String sql = sqls.get(i); ps = conn.prepareStatement(sql); ps.executeUpdate(); } } conn.commit(); tag = true; } catch (Exception e) { try { conn.rollback(); } catch (SQLException ex) { Logger.getLogger(JDBC.class.getName()).log(Level.SEVERE, null, ex); } e.printStackTrace(); } finally { closeDB(); return tag; } } /** * 履行1條插入語句,同時返回插入時的pk * * @param sql * @param params * @return pk */ public int insertAndGetPk(String sql, Object[] params) { int key = 0; connectDB(); try { conn.setAutoCommit(false); ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); if (null != params) { for (int i = 0, paramsSize = params.length; i < paramsSize; i++) { ps.setObject(i + 1, params[i]); } } ps.executeUpdate(); ResultSet keys = ps.getGeneratedKeys(); if (keys.next()) { key = keys.getInt(1); } conn.commit(); } catch (Exception exception) { try { conn.rollback(); exception.printStackTrace(); return 0; } catch (SQLException ex) { Logger.getLogger(JDBC.class.getName()).log(Level.SEVERE, null, ex); } } finally { closeDB(); } return key; } /** * 查詢 * * @param sql sql語句(參數用“?”) * @param params 參數值 * @return */ public ResultSet query(String sql, Object[] params) { try { ps = conn.prepareStatement(sql); if (null != params) { for (int i = 0, paramsSize = params.length; i < paramsSize; i++) { ps.setObject(i + 1, params[i]); } } rs = ps.executeQuery(); } catch (Exception ex) { ex.printStackTrace(); } return rs; } public static void main(String[] agrs) { List<String> sqls = new ArrayList<String>(); sqls.add("insert into image(url,title) values(?,?)"); sqls.add("insert into image(url,title) values('2','222')"); sqls.add("insert into image(url,title) values(?,?)"); sqls.add("insert into image(url,title) values(?,?)"); Object[][] objs = new Object[][]{ {"1", "111"}, null, {"3", "333"}, {"4", "444"} }; JDBC db = new JDBC(); boolean tag = db.executeBatch(sqls, objs); System.out.println("tag===>" + tag); } }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 另类图片 亚洲 校园 小说区 | 亚洲人成亚洲人成在线观看 | 在线观看日本www | 亚洲欧洲日产国码二区首页 | 成人免费看黄页网址大全 | 范冰冰一级做a爰片久久毛片 | 欧美日韩一区二区三 | 亚洲免费观看视频 | 色综合小说久久综合图片 | 国产午夜精品一区二区三区不卡 | 国产精品亚洲欧美日韩区 | 伊人婷婷色 | 久久久夜| 亚州中文字幕 | 美女福利片 | 伊人快播 | 亚洲精品在线网址 | www.亚洲第一| 亚洲韩国日本一级二级r级 亚洲韩精品欧美一区二区三区 | 久久免费国产精品一区二区 | 黄色的网站免费观看 | 亚洲最新 | 中文字幕亚洲色图 | 国产亚洲精品福利片 | 福利片福利一区二区三区 | 日本女人一级片 | 久久99久久99精品免观看麻豆 | 呦视频在线一区二区三区 | 国产精品视频流白浆免费视频 | 国产精品入口麻豆免费 | 最近中文字幕高清字幕 | 一本大道道无香蕉综合在线 | 精品日韩二区三区精品视频 | 久久精品免费播放 | 欧美一级级毛片 | 伊人黄| 在线人成精品免费视频 | jizz欧美大全 | 国内精品久久国产 | 亚洲十八精品网站 | аⅴ中文在线天堂 |