日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

JDBC工具類

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

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); } }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 在线看片日韩 | 久久99亚洲精品 | 欧美日韩一区三区 | 欧美在线a| 91精品成人久久 | 麻豆视频一区二区 | 二区三区在线观看 | 黄色片网站在线观看 | 欧美日韩视频一区二区三区 | 美女视频黄的免费的 | 九九热在线免费视频 | 欧美一级大片 | 久久国产精品首页 | av毛片一区 | www.嫩草 | 色网在线播放 | 成人免费在线视频 | 国产综合久久久 | 欧美日韩一二区 | 综合久久精品 | 亚洲免费区| 国产精品1区2区 | 欧美一区二区三区精品 | 精品国产31久久久久久 | 国产精品视频一二三区 | 男人都懂的网站 | 国产精品免费播放 | 日韩精品中文字幕在线 | 亚洲福利片 | 国产成人免费视频 | 欧美日韩综合一区 | 国产精品电影 | 天堂影视 | 成人精品国产免费网站 | 91精品一区二区三区久久久久久 | 欧美日韩成人一区 | 日本黄色片网站 | 亚洲久久久久 | 超碰999 | 久久高清国产 | 国产精品久久久久国产a级 中文字幕影院 |