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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

day17-jdbc 6.Connection介绍

發(fā)布時(shí)間:2024/8/26 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 day17-jdbc 6.Connection介绍 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

?

package cn.itcast.jdbc; import com.mysql.jdbc.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; //解決關(guān)于加載驅(qū)動問題 public class JdbcDemo2 {public static void main(String[] args) throws SQLException, ClassNotFoundException {//1.注冊驅(qū)動//DriverManager.registerDriver(new Driver());//一注冊驅(qū)動,驅(qū)動就加載到內(nèi)存里面了 也就是說我們就可以用它了 加載了兩個(gè)驅(qū)動Class.forName("com.mysql.jdbc.Driver");//優(yōu)點(diǎn)是加載一次 替換registerDriver()這個(gè)方法 這個(gè)不耦合,根本就沒用mysql驅(qū)動的東西 不是意味著那就不用驅(qū)動了,只是不依賴jar包//在代碼上、表現(xiàn)上根本就看不到驅(qū)動那包 用的都是公共的那種接口(Connection、DriverManager、ResultSet、SQLException、Statement),就是JDK里面提供的公共的接口//編程的都知道不依賴任何東西是最好的,因?yàn)闆]有耦合,但是那是不可能的。所以要盡量讓耦合度降低//加載mysql驅(qū)動Class.forName("oracle.jdbc.driver.OracleDriver");//加載oracle驅(qū)動//它怎么知道這是oracle驅(qū)動還是mysql驅(qū)動呢?它是如何區(qū)分的?//String url = "jdbc:mysql://localhost:3306/day17";String url = "jdbc:mysql:///day17";//2.獲取連接對象//Connection con = DriverManager.getConnection(url, "root", "");Connection con = (Connection) DriverManager.getConnection(url, "root", "");System.out.println(con);//connection是接口,是驅(qū)動,驅(qū)動肯定把這個(gè)接口實(shí)現(xiàn)了 編程用最頂層去接收操作起來會比較方便 前面是父,后面是子 用最頂層接收//3.通過連接對象獲取操作sql語句的StatementStatement st = con.createStatement();//4.操作sql語句String sql = "select * from user";ResultSet rs = st.executeQuery(sql);//ResultSet就是查詢的結(jié)果,可以想象成是集合,但是它不是集合//5.遍歷結(jié)果集/* boolean flag = rs.next();//向下移動,返回值為true,代表有下一條記錄。System.out.println(flag);int id = rs.getInt(1);int id1 = rs.getInt("id");System.out.println(id);System.out.println(id1);String username = rs.getString(2);String username1 = rs.getString("username");System.out.println(username);System.out.println(username1);*/while(rs.next()){int id = rs.getInt("id");String username = rs.getString("username");String password = rs.getString("password");String email = rs.getString("email");System.out.println(id+" "+username+" "+password+" "+email);}//只要Java程序跟任何設(shè)備進(jìn)行了連接,用完之后必須釋放資源。最簡單基礎(chǔ)班講I/O流,Java跟文件進(jìn)行了連接,用完之后關(guān)閉文件流。數(shù)據(jù)庫也是一個(gè)設(shè)備。Java跟數(shù)據(jù)庫連接上了用完之后也要關(guān)閉。必須把資源釋放。//6.釋放資源rs.close();//結(jié)果集得關(guān)st.close();con.close();//直接把con關(guān)閉了,數(shù)據(jù)庫和程序斷開了。但是statement和resultset沒有及時(shí)釋放,它還在內(nèi)存存著。close()是釋放和回收資源。//close()的順序和進(jìn)門出門是一樣的,是進(jìn)門的時(shí)候先進(jìn)大門,出門的時(shí)候是最后才出大門//=============//Java可以操作數(shù)據(jù)庫} }

?

轉(zhuǎn)載于:https://www.cnblogs.com/ZHONGZHENHUA/p/6628725.html

總結(jié)

以上是生活随笔為你收集整理的day17-jdbc 6.Connection介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。