国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - java 中JDBC連接數(shù)據(jù)庫代碼和步驟詳解及實(shí)例代碼

java 中JDBC連接數(shù)據(jù)庫代碼和步驟詳解及實(shí)例代碼

2020-08-20 11:07Java教程網(wǎng) Java教程

這篇文章主要介紹了java 中JDBC連接數(shù)據(jù)庫代碼和步驟詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下

javaJDBC連接數(shù)據(jù)庫代碼和步驟詳解

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

•創(chuàng)建一個以JDBC連接數(shù)據(jù)庫的程序,包含7個步驟:   

 1、加載JDBC驅(qū)動程序:   

    在連接數(shù)據(jù)庫之前,首先要加載想要連接的數(shù)據(jù)庫的驅(qū)動到JVM(Java虛擬機(jī)),這通過java.lang.Class類的靜態(tài)方法forName(String  className)實(shí)現(xiàn)。   

    例如:   

?
1
2
3
4
5
6
7
try
//加載MySql的驅(qū)動類 
Class.forName("com.mysql.jdbc.Driver") ; 
}catch(ClassNotFoundException e){ 
System.out.println("找不到驅(qū)動程序類 ,加載驅(qū)動失敗!"); 
e.printStackTrace() ; 

   成功加載后,會將Driver類的實(shí)例注冊到DriverManager類中。   

 2、提供JDBC連接的URL   

   •連接URL定義了連接數(shù)據(jù)庫時的協(xié)議、子協(xié)議、數(shù)據(jù)源標(biāo)識。   
   •書寫形式:協(xié)議:子協(xié)議:數(shù)據(jù)源標(biāo)識   

    協(xié)議:在JDBC中總是以jdbc開始    

   子協(xié)議:是橋連接的驅(qū)動程序或是數(shù)據(jù)庫管理系統(tǒng)名稱。   

    數(shù)據(jù)源標(biāo)識:標(biāo)記找到數(shù)據(jù)庫來源的地址與連接端口。   

    例如:(MySql的連接URL)   

?
1
2
jdbc:mysql: 
   //localhost:3306/test?useUnicode=true&characterEncoding=gbk ;

   useUnicode=true:表示使用Unicode字符集。如果characterEncoding設(shè)置為   

   gb2312或GBK,本參數(shù)必須設(shè)置為true 。characterEncoding=gbk:字符編碼方式。   

 3、創(chuàng)建數(shù)據(jù)庫的連接   

    •要連接數(shù)據(jù)庫,需要向java.sql.DriverManager請求并獲得Connection對象,該對象就代表一個數(shù)據(jù)庫的連接。  
    •使用DriverManager的getConnectin(String url , String username ,    String password )方法傳入指定的欲連接的數(shù)據(jù)庫的路徑、數(shù)據(jù)庫的用戶名和   

     密碼來獲得。   

     例如:   

?
1
2
3
4
5
6
7
8
9
10
11
//連接MySql數(shù)據(jù)庫,用戶名和密碼都是root 
   String url = "jdbc:mysql://localhost:3306/test"
   String username = "root"
   String password = "root"
   try
  Connection con = 
       DriverManager.getConnection(url , username , password ) ; 
   }catch(SQLException se){ 
  System.out.println("數(shù)據(jù)庫連接失敗!"); 
  se.printStackTrace() ; 
   

 4、創(chuàng)建一個Statement   

    •要執(zhí)行SQL語句,必須獲得java.sql.Statement實(shí)例,Statement實(shí)例分為以下3  種類型:   

      1、執(zhí)行靜態(tài)SQL語句。通常通過Statement實(shí)例實(shí)現(xiàn)。  
      2、執(zhí)行動態(tài)SQL語句。通常通過PreparedStatement實(shí)例實(shí)現(xiàn)。  
      3、執(zhí)行數(shù)據(jù)庫存儲過程。通常通過CallableStatement實(shí)例實(shí)現(xiàn)。   

    具體的實(shí)現(xiàn)方式:           

?
1
2
3
4
Statement stmt = con.createStatement() ; 
    PreparedStatement pstmt = con.prepareStatement(sql) ; 
    CallableStatement cstmt = 
              con.prepareCall("{CALL demoSp(? , ?)}") ; 

 5、執(zhí)行SQL語句   

    Statement接口提供了三種執(zhí)行SQL語句的方法:executeQuery 、executeUpdate 和execute   

    1、ResultSet executeQuery(String sqlString):執(zhí)行查詢數(shù)據(jù)庫的SQL語句  
        ,返回一個結(jié)果集(ResultSet)對象。  
     2、int executeUpdate(String sqlString):用于執(zhí)行INSERT、UPDATE或  
        DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等  
     3、execute(sqlString):用于執(zhí)行返回多個結(jié)果集、多個更新計數(shù)或二者組合的   語句。   

   具體實(shí)現(xiàn)的代碼:   

?
1
2
3
   ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ; 
int rows = stmt.executeUpdate("INSERT INTO ...") ; 
boolean flag = stmt.execute(String sql) ; 

 6、處理結(jié)果   

    兩種情況:   

     1、執(zhí)行更新返回的是本次操作影響到的記錄數(shù)。  
     2、執(zhí)行查詢返回的結(jié)果是一個ResultSet對象。   

    • ResultSet包含符合SQL語句中條件的所有行,并且它通過一套get方法提供了對這些 行中數(shù)據(jù)的訪問。  
    • 使用結(jié)果集(ResultSet)對象的訪問方法獲取數(shù)據(jù):     

?
1
2
3
4
while(rs.next()){ 
   String name = rs.getString("name") ; 
String pass = rs.getString(1) ; // 此方法比較高效 
 

    (列是從左到右編號的,并且從列1開始)   

 7、關(guān)閉JDBC對象    

     操作完成以后要把所有使用的JDBC對象全都關(guān)閉,以釋放JDBC資源,關(guān)閉順序和聲  明順序相反:   

     1、關(guān)閉記錄集  
     2、關(guān)閉聲明  
     3、關(guān)閉連接對象   

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
if(rs != null){  // 關(guān)閉記錄集 
try
  rs.close() ; 
}catch(SQLException e){ 
  e.printStackTrace() ; 
 
 if(stmt != null){  // 關(guān)閉聲明 
try
  stmt.close() ; 
}catch(SQLException e){ 
  e.printStackTrace() ; 
 
 if(conn != null){ // 關(guān)閉連接對象 
 try
  conn.close() ; 
 }catch(SQLException e){ 
  e.printStackTrace() ; 
 
 }

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:http://blog.csdn.net/qq_35101189/article/details/57987309

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 国产欧美久久久久久 | av片在线播放 | 污污视频网站免费 | 日本妇乱大交xxxxx | 亚洲在线视频 | 欧美久久久久 | 在线看片你懂得 | 亚洲精品视频在线播放 | 国产精品久久一区 | 国产最好的精华液网站 | 欧美在线影院 | 中文字幕久久精品 | 国产日韩在线视频 | 国产毛片v一区二区三区 | 欧美成人精品一区二区男人看 | 一道本一二三区 | 黄色片在线免费观看 | 国产黄色av网站 | 国产伦精品一区二区三区高清 | 久久精品久久久 | 国产一区中文字幕 | 成人在线一区二区 | 一区二区av | 久热精品免费视频 | 九九九九国产 | 亚洲一区亚洲二区 | 日本视频一区二区 | 亚洲国产成人av | 日韩精品免费在线观看 | 欧美一级黄色片 | 欧美日韩一区二区三区 | 成人国产在线视频 | 日韩中文字幕在线观看 | 欧美久久成人 | 中文字幕日韩有码 | 中文字幕一区二区三区日韩精品 | 精品少妇一区二区三区 | 国产精品正在播放 | 在线激情视频 | 激情亚洲 | 国产成人精品一区二区 |