自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java高手詳解使用JDBC的步驟

開發(fā) 后端
本文將由Java高手詳解使用JDBC的步驟,JDBC是大家使用比較多的連接數(shù)據(jù)庫的方式,希望大家看過此文后有更多了解。

JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純 Java API 編寫數(shù)據(jù)庫應(yīng)用程序,

使用JDBC的步驟分為6步

使用JDBC的步驟1. load the driver

(1)Class.forName()|Class.forName().newlnstance()|new DriverName()

(2)實(shí)例化時(shí)自動(dòng)向DriverManager注冊(cè),不需要顯示調(diào)用DriverManager.registerDriver

使用JDBC的步驟2. Connect to the DataBase

DriverManager.getConnection()

使用JDBC的步驟3.Excute the SQL

(1)connection.CreateStatement() 

(2)Statement.excuteQuery()

(3)Statement.executeUpdate()

使用JDBC的步驟4. Retrieve the result data

循環(huán)取得結(jié)果 while(rs.next())

使用JDBC的步驟5. show the result data

將數(shù)據(jù)庫中的各種類型轉(zhuǎn)換為java中的類型(getXXX)方法

使用JDBC的步驟6. close

close the resultset / close the  statement /close the connection

實(shí)際例子 Java代碼

  1. package DB;     
  2. import java.sql.*;     
  3. class  Jdbc     
  4. {     
  5.     public static void main(String[] args)throws Exception     
  6.     {          
  7.         //只有下面2句話就可以連接到數(shù)據(jù)庫中     
  8.         Class.forName("com.mysql.jdbc.Driver");        
  9.         Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "1234");    //Class.forName("com.mysql.jdbc.Driver");        
  10.         //Connection conn=(Connection) getConnection("jdbc:mysql://localhost:3306/drp", "root", "root");     
  11.  //Class.forName("oracal.jdbc.driver.OracalDriver");     
  12.         //new oracal.jdbc.driver.OracalDriver();     
  13.         //Connection conn=DriverManager.getConnection"jdbc:oracal:thin:@localhost:1521:SXT"."scott","tiger"     
  14.              
  15.         //jdbc.driverClassName=com.mysql.jdbc.Driver;     
  16.         //jdbcjdbc.url=jdbc:mysql:localhost:3306 /test?useUnicode=true&characterEncoding=utf8;     
  17.     }     
  18. }    
  19. package DB;  
  20. import java.sql.*;  
  21. class  Jdbc  
  22. {  
  23.  public static void main(String[] args)throws Exception  
  24.  {  
  25.     
  26.   //只有下面2句話就可以連接到數(shù)據(jù)庫中  
  27.   Class.forName("com.mysql.jdbc.Driver");     
  28.   Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "1234");   
  29. //Class.forName("com.mysql.jdbc.Driver");     
  30.   //Connection conn=(Connection) getConnection("jdbc:mysql://localhost:3306/drp", "root", "root");  
  31. //Class.forName("oracal.jdbc.driver.OracalDriver");  
  32.   //new oracal.jdbc.driver.OracalDriver();  
  33.   //Connection conn=DriverManager.getConnection"jdbc:oracal:thin:@localhost:1521:SXT"."scott","tiger"  
  34.   //jdbc.driverClassName=com.mysql.jdbc.Driver;  
  35.   //jdbcjdbc.url=jdbc:mysql:localhost:3306 /test?useUnicode=true&characterEncoding=utf8;  
  36.  }  

還有另外的一個(gè)用try catch 的方法

下面就實(shí)際去操作一下

首先把mysql驅(qū)動(dòng)mysql-connector-java-3.1.10-bin.jar 或者其它版本的驅(qū)動(dòng)copy到WebRoot 下面的WEB-INF下面的lib里面

Java代碼 

  1. package db;     
  2. //一定要注意類名字要相同!!     
  3. import java.sql.*;     
  4.  class  Jdbc     
  5. {     
  6.     public static void main(String[] args)throws Exception     
  7.     {     
  8.  Class.forName("com.mysql.jdbc.Driver");        
  9.         Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "1234");      
  10.         System.out.print("ok");//如果連接成功顯示ok     
  11.     }     
  12. }    
  13. package db;  
  14. //一定要注意類名字要相同?。? 
  15. import java.sql.*;  
  16. class  Jdbc  
  17. {  
  18.  public static void main(String[] args)throws Exception  
  19.  {  
  20.     Class.forName("com.mysql.jdbc.Driver");     
  21.   Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "1234");   
  22.   System.out.print("ok");//如果連接成功顯示ok  
  23.  }  
  24. }  
  25. 然后接著看下面的升級(jí)版   
  26. Java代碼   
  27. package db;     
  28.     
  29. import java.sql.*;     
  30.     
  31. import com.sun.corba.se.spi.orbutil.fsm.Guard.Result;     
  32.     
  33. class Jdbc2 {     
  34.     public static void main(String[] args) throws Exception {     
  35.     
  36.         //1.先new 一個(gè)driver 然后向managerDriver注冊(cè)     
  37.         Class.forName("com.mysql.jdbc.Driver");     
  38.         //2.通過DriverManager.getConnection傳遞個(gè)方法,嚴(yán)格的說是jdbc的url     
  39.         Connection conn = DriverManager.getConnection(     
  40.                 "jdbc:mysql://localhost:3306/test", "root", "1234");     
  41.         //3.創(chuàng)建個(gè)statement對(duì)象,執(zhí)行sql語句     
  42.         Statement stmt = conn.createStatement();     
  43.         ResultSet rs = stmt.executeQuery("select * from test.admin");     
  44.         //4.取得結(jié)果集 5.對(duì)其進(jìn)行便利     
  45.         while (rs.next()) {     
  46.             System.out.println(rs.getString("username"));     
  47.             System.out.println(rs.getInt("id"));     
  48.         }     
  49.         //6.關(guān)閉(要遵循后執(zhí)行的先閉,先執(zhí)行的后閉的原則)     
  50.         rs.close();     
  51.         stmt.close();     
  52.         conn.close();       
  53.     }     
  54. }       
  55. /**    
  56.  * 此例子需要注意的是:    
  57.  * 1.驅(qū)動(dòng)是否在lib文件夾下面。    
  58.  * 2.數(shù)據(jù)庫里面的庫名以及表是否存在    
  59.  * 3."jdbc:mysql://localhost:3306/test", "root", "1234");    
  60.  * 分別對(duì)應(yīng)的是地址、端口、庫名、數(shù)據(jù)庫的管理員名字、管理員密碼。    
  61.  * 4."select * from test.admin" sql語句建議一定寫的時(shí)候用 庫名.表名。    
  62.  */    
  63. /*   

以上是jdbc 一個(gè)簡(jiǎn)單的例子,了解連接jdbc 的步驟。  

這段代碼的統(tǒng)一出現(xiàn)的問題是在執(zhí)行System.out.println(rs.getString("name"));的時(shí)候會(huì)出現(xiàn)exception,這樣的話后面的close就不再被執(zhí)行,占用緩存,最后導(dǎo)致服務(wù)器死機(jī) (河北電信視頻點(diǎn)擊系統(tǒng))改進(jìn)的代碼請(qǐng)看TESTHdbc3.java  

  1.  */    
  2.     
  3. //Class.forName("com.mysql.jdbc.Driver");        
  4. //Connection conn=(Connection) getConnection("jdbc:mysql://localhost:3306/drp", "root", "root");     
  5.     
  6. //Class.forName("oracal.jdbc.driver.OracalDriver");     
  7. //new oracal.jdbc.driver.OracalDriver();     
  8. //Connection conn=DriverManager.getConnection"jdbc:oracal:thin:@localhost:1521:SXT"."scott","tiger"     
  9. //jdbc.driverClassName=com.mysql.jdbc.Driver;     
  10. //jdbcjdbc.url=jdbc:mysql:localhost:3306 /test?useUnicode=true&characterEncoding=utf8;     
  11. /*    

以上是jdbc 一個(gè)簡(jiǎn)單的例子,了解連接jdbc 的步驟。  
 
這段代碼的統(tǒng)一出現(xiàn)的問題是在執(zhí)行System.out.println(rs.getString("name"));的時(shí)候會(huì)出現(xiàn)exception,這樣的話后面的close就不再被執(zhí)行,占用緩存,最后導(dǎo)致服務(wù)器死機(jī)(河北電信視頻點(diǎn)擊系統(tǒng))改進(jìn)的代碼請(qǐng)看TESTHdbc3.java   

  1. //Class.forName("com.mysql.jdbc.Driver");     
  2.  //Connection conn=(Connection) getConnection("jdbc:mysql://localhost:3306/drp", "root", "root");  
  3.    
  4.  
  5.  
  6.  //Class.forName("oracal.jdbc.driver.OracalDriver");  
  7.  //new oracal.jdbc.driver.OracalDriver();  
  8.  //Connection conn=DriverManager.getConnection"jdbc:oracal:thin:@localhost:1521:SXT"."scott","tiger"  
  9.    
  10.  //jdbc.driverClassName=com.mysql.jdbc.Driver;  
  11.  //jdbcjdbc.url=jdbc:mysql:localhost:3306 /test?useUnicode=true&characterEncoding=utf8


最后讓我們看個(gè)使用JDBC的步驟成熟版

Java代碼

  1. package db;     
  2. import java.sql.*;     
  3. class Jdbc3 {     
  4.     public static void main(String[] args) {     
  5.         try {     
  6.     
  7.             Class.forName("com.mysql.jdbc.Driver");     
  8.     
  9.             Connection conn = DriverManager.getConnection(     
  10.                     "jdbc:mysql://localhost:3306/test", "root", "1234");     
  11.     
  12.             Statement stmt = conn.createStatement();     
  13.             ResultSet rs = stmt.executeQuery("select * from test.admin");     
  14.     
  15.             while (rs.next()) {     
  16.                 System.out.println(rs.getString("username"));     
  17.                 System.out.println(rs.getInt("id"));     
  18.             }     
  19.         } catch (ClassNotFoundException e) {     
  20.             e.printStackTrace();     
  21.         } catch(SQLException e){     
  22.             e.printStackTrace();}     
  23.         }     
  24.     finally{     
  25.         rs.close();     
  26.         stmt.close();     
  27.         conn.close();     
  28.     }           
  29. }   

【編輯推薦】

  1. 使用JDBC的五個(gè)精華功能
  2. Tomcat5+MySQL JDBC連接池配置
  3. 在Weblogic中實(shí)現(xiàn)JDBC的功能
  4. 詳解JDBC與Hibernate區(qū)別
  5. JDBC連接MySQL數(shù)據(jù)庫關(guān)鍵四步
  6. 淺談JDBC的概念理解與學(xué)習(xí)

【責(zé)任編輯:彭凡 TEL:(010)68476606】

責(zé)任編輯:彭凡 來源: javaeye
相關(guān)推薦

2009-09-24 15:53:00

Hibernate J

2009-07-09 16:01:27

2009-07-08 17:17:16

JDBC調(diào)用存儲(chǔ)過程

2010-06-17 15:33:16

SQL Server

2009-07-15 18:10:22

Java高手

2009-09-23 12:48:54

Hibernate I

2009-07-15 13:41:00

JDBC實(shí)例

2009-07-20 15:56:08

JDBC連接數(shù)據(jù)庫步驟

2009-07-08 18:20:21

JDBC驅(qū)動(dòng)

2016-09-18 16:58:09

JavaProperties

2009-06-08 17:56:00

SpringJDBC事務(wù)

2009-06-10 18:11:58

Java高手

2009-07-09 17:47:40

使用JDBC

2015-09-09 08:45:49

JavaThreadLocal

2009-07-23 15:17:54

JDBC連接Acces

2021-09-29 09:42:32

AndroidViewDragHel拖動(dòng)上下滑卡片

2024-01-19 09:21:31

ReactHooksuseRef

2009-04-09 09:19:25

C#規(guī)則表達(dá)式.NET

2009-12-14 10:54:26

2010-08-10 13:22:02

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)