日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JDBC详解及总结

發布時間:2025/4/16 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JDBC详解及总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先,獲得數據庫的連接,獲得一個可配置的連接,是應用程序與數據庫的一個“握手”過程。

public class Test{public static void main(String[] args){Test test = new Test();test.list();}public void list(){DBUtil util = new DBUtil();Connection conn = util.getConnection();String sql = "select id, username, password from UserTbl";try{Statement stmt =conn.createStatement();ResultSet rs = stmt.executeQuery(sql);while(rs.next()){int id = rs.getInt("id");String username = rs.getString(2);String password = rs.getString(3);System.out.println(id+":"+username+":"+password);}}catch(SQLException e){e.printStackTrace();}finally{util.closeConnection(conn);}} }獲得數據庫連接的步驟:

Class.forName加載驅動

--Class.forName("com.mysql.jdbc.Driver");

DriverManager獲得連接

--DriverManager.getConnection("jdbc:mysql://localhost:3306/xxxx_db","root","password");

public class DBUtil{public static void main(String[] args){DBUtil util = new DBUtil();//Connection conn = util.getConnection(); //前兩種辦法Connection conn = util.openConnection(); //第三種辦法}public Connection getConnection(){try{//這是第一種最簡陋的辦法//-----------------Class.forName("com.mysql.jdbc.Driver");return DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc_db","root","password");//-----------------}catch(Exception e){e.printStackTrace();}return null;}public Connection getConnection(String url, String driver, String username, String password){try{//這是第二種辦法//-----------------Class.forName(driver);return DriverManager.getConnection(url, username, password);//-----------------}catch(Exception e){e.printStackTrace();}return null;}//第三種辦法,把數據庫信息寫入配置文件中,注意配置文件要保存在相應的工程包中//DBConfig.properties//文件中寫入://driver = com.mysql.jdbc.Driver//url = jdbc:mysql://localhost:3306/jdbc_db//username = root//password = passwordpublic Connection openConnecion(){Properties prop = new Properties();String username = null;String url = null;String driver = null;String password = null;try{prop.load(this.getClass().getClassLoader().getResourceAsStream("DBConfig.properties"));driver = prop.getProperty("driver");url = prop.getProperty("url");username = prop.getProperty("username");password = prop.getProperty("password");Class.forName(driver);return DriverManager.getConnection(url, username, password);}catch(Exception e){e.printStackTrace();}} }



事務:

commit, rollback

public void closeConnetcion(Connection conn){try{conn.close();}catch(SQLException e){e.printStackTrace();} } public void add(){DBUtil util = new DBUtil();Connection conn = util.openConnecion();String sql = "insert into UserTbl(id, username, password) value (3, 'david', '00000')";try{Statement stmt = conn.createStatement();stmt.executeUpdate(sql);}catch(Exception e){e.printStackTrace();}finally{util.closeConnetcion(conn);} } //在main函數中加入語句: //util.add(); //則成功在數據庫中插入數據 //若在add()中加入語句: public void add(){DBUtil util = new DBUtil();Connection conn = util.openConnecion();String sql = "insert into UserTbl(id, username, password) value (3, 'david', '00000')";try{conn.setAutoCommit(false);//加入這個語句,表示不自動提交Statement stmt = conn.createStatement();stmt.executeUpdate(sql);conn.commit(); //必須加入這句,才會將數據插入庫中}catch(Exception e){e.printStackTrace();conn.rollback();//若拋出異常,則回滾,即上述try語句塊無效}finally{util.closeConnetcion(conn);} }

總結

以上是生活随笔為你收集整理的JDBC详解及总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。