day17-jdbc 6.Connection介绍
生活随笔
收集整理的這篇文章主要介紹了
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)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《嵌入式linux应用程序开发标准教程》
- 下一篇: Win10 UWP开发:摄像头扫描二维码