多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > 數據庫應用 > JDBC數據庫編程

JDBC數據庫編程

來源:程序員人生   發布時間:2014-12-18 08:41:18 閱讀次數:4287次

***********************************************聲明******************************************************

      原創作品,出自 “曉風殘月xj” 博客,歡迎轉載,轉載時請務必注明出處(http://blog.csdn.net/xiaofengcanyuexj)。

      由于各種緣由,可能存在諸多不足,歡迎斧正!

*********************************************************************************************************

      最近在自學MySQL數據庫,同時將來職場上的開發語言為Java,所以就嘗試在eclipse環境下寫個小的事務處理的數據庫程序。在這里談談Java MySQL數據庫利用程序的開發。首先應當在本地機器上安裝MySQL數據庫,具體安裝進程見新手上路中提供的鏈接;然后最好安裝輔助的可視化工具:HeidiSQL,具體進程見HeidiSQL文中提供的鏈接。然互就是MySQL JDBC驅動的安裝了,在這里提供1個鏈接:MySQL JDBC驅動 。

     依照上述的步驟,剩下的就是利用程序的編寫,JDBC編程中相干流程是通用的,應當側重看看,在此我談談我的理解。

      JDBC: Java database connection。JDBC是1組編程接口,數據庫系統的底層開發者實現接口,Java開發者調用JDBC提供的接口進行與數據庫的創建、鏈接、更新等操作。JDBC提供兩種API,分別是面向開發人員的API和面向底層的JDBC驅動程序API,底層主要通過直接的JDBC驅動和JDBC-ODBC橋驅動實現與數據庫的連接。
1)、加載數據庫驅動程序;

Class.forName(driver)//此處driver指驅動的路徑

2)、建立數據庫連接;

Connection con = DriverManager.getConnection(url, user, password);//以特定的用戶訪問指定的數據庫

3)、操作數據庫,履行SQL語句;

4)、斷開數據庫連接。


下面轉1段介紹, 完全java開發中JDBC連接數據庫代碼和步驟,在此表示感謝:

1、加載JDBC驅動程序:   
    在連接數據庫之前,首先要加載想要連接的數據庫的驅動到JVM(Java虛擬機),這通過java.lang.Class類的靜態方法forName(String  className)實現。   
    例如:   

try{ //加載MySql的驅動類 Class.forName("com.mysql.jdbc.Driver") ; }catch(ClassNotFoundException e){ System.out.println("找不到驅動程序類 ,加載驅動失??!"); e.printStackTrace() ; }
   成功加載后,會將Driver類的實例注冊到DriverManager類中。   
2、提供JDBC連接的URL   
   連接URL定義了連接數據庫時的協議、子協議、數據源標識。書寫情勢:協議:子協議:數據源標識;協議:在JDBC中總是以jdbc開始;子協議:是橋連接的驅動程序或是數據庫管理系統名稱;數據源標識:標記找到數據庫來源的地址與連接端口。   
   例如:(MySql的連接URL)   

jdbc:mysql: //localhost:3306/test?useUnicode=true&characterEncoding=gbk ; useUnicode=true:表示使用Unicode字符集。如果characterEncoding設置為 gb2312或GBK,本參數必須設置為true 。characterEncoding=gbk:字符編碼方式。
 3、創建數據庫的連接   
    要連接數據庫,需要向java.sql.DriverManager要求并取得Connection對象,該對象就代表1個數據庫的連接。使用DriverManager的getConnectin(String url,String username,String password )方法傳入指定的欲連接的數據庫的路徑、數據庫的用戶名和密碼來取得。   
     例如:

//連接MySql數據庫,用戶名和密碼都是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("數據庫連接失??!"); se.printStackTrace() ; }
 4、創建1個Statement   
    要履行SQL語句,必須取得java.sql.Statement實例,Statement實例分為以下3種類型:   
      1)、履行靜態SQL語句。通常通過Statement實例實現。   
      2)、履行動態SQL語句。通常通過PreparedStatement實例實現。   
      3)、履行數據庫存儲進程。通常通過CallableStatement實例實現。   
    具體的實現方式:     
 
Statement stmt = con.createStatement() ; PreparedStatement pstmt = con.prepareStatement(sql) ; CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ;
 5、履行SQL語句   
   Statement接口提供了3種履行SQL語句的方法:executeQuery 、executeUpdate和execute   
    1)、ResultSet executeQuery(String sqlString):履行查詢數據庫的SQL語句,返回1個結果集(ResultSet)對象。   
    2)、int executeUpdate(String sqlString):用于履行INSERT、UPDATE或DELETE語句和SQL DDL語句,如:CREATE TABLE和DROP TABLE等   
    3)、execute(sqlString):用于履行返回多個結果集、多個更新計數或2者組合的語句。   
   具體實現的代碼:   

ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ; int rows = stmt.executeUpdate("INSERT INTO ...") ; boolean flag = stmt.execute(String sql) ;
 6、處理結果   
    兩種情況:   
     1)、履行更新返回的是本次操作影響到的記錄數。   
     2)、履行查詢返回的結果是1個ResultSet對象。   
     ResultSet包括符合SQL語句中條件的所有行,并且它通過1套get方法提供了對這些行中數據的訪問。使用結果集(ResultSet)對象的訪問方法獲得數據: 
  
while(rs.next()){ String name = rs.getString("name") ; String pass = rs.getString(1) ; // 此方法比較高效 } (列是從左到右編號的,并且從列1開始)
 7、關閉JDBC對象    
     操作完成以后要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲明順序相反:   
     1)、關閉記錄集   
     2)、關閉聲明   
     3)、關閉連接對象-數據庫 

if(rs != null){ // 關閉記錄集 try{ rs.close() ; }catch(SQLException e){ e.printStackTrace() ; } } if(stmt != null){ // 關閉聲明 try{ stmt.close() ; }catch(SQLException e){ e.printStackTrace() ; } } if(conn != null){ // 關閉連接對象 try{ conn.close() ; }catch(SQLException e){ e.printStackTrace() ; } }
   

      上面那段文字介紹的挺好的,還有我自己也是初學,就直接轉載了,在此表示感謝!下面貼上我的1段入門級代碼,要畢業了,馬上要工作了,想多接觸1點工作上可能用得到的JDBC數據庫開發,有無時間寫個很大的項目,所以就只是描寫1下大致流程,見笑了!

import java.sql.*; public class JDBCDemo { public static void main(String[] args) { String user = "root"; String password = "199203211410xfcy"; String url = "jdbc:mysql://localhost:3306/studentdb";//建立數據庫服務器的地址 String tableName = "student_information"; String driver = "com.mysql.jdbc.Driver"; String sqlSentence; Connection con = null;//連接對象 Statement stmt = null;//操作對象 ResultSet rs = null;//查詢結果 try { Class.forName(driver);//加載數據庫驅動程序Driver類 con = DriverManager.getConnection(url, user, password);//數據庫連接,以特定的用戶訪問指定的數據庫 stmt = con.createStatement(); sqlSentence = "insert into " + tableName + " values (9,'honey',21)"; stmt.executeUpdate(sqlSentence); sqlSentence = "select * from " + tableName; rs = stmt.executeQuery(sqlSentence); ResultSetMetaData rsmd = rs.getMetaData(); int j = 0; j = rsmd.getColumnCount(); for (int k = 0; k < j; k++) { System.out.print(rsmd.getColumnName(k + 1)); System.out.print(" "); } System.out.println(); while (rs.next()) { for (int i = 0; i < j; i++) { System.out.print(rs.getString(i + 1)); System.out.print(" "); } System.out.println(); } } catch (ClassNotFoundException e1) { System.out.println("數據庫驅動不存在!"); System.out.println(e1.toString()); } catch (SQLException e2) { System.out.println("數據庫存在異常!"); System.out.println(e2.toString()); } finally { try { if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (con != null) con.close(); } catch (SQLException e) { System.out.println(e.toString()); } } } }
    條件是要有1個studentdb的數據庫,和1張屬性1致的student_information表。


    由于時間有限,在寫博文的進程中參考過1些文獻,在此表示感謝;同時鑒于水平緣由,你難免有不足的地方,歡迎斧正!


                





生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美性猛交xxxx乱大交中文 | 一二三区视频 | 亚洲成人小视频 | 欧美国产一区二区 | 日韩精品一区二区三区中文在线 | www.欧美成| 亚洲色图欧美色 | 国产 福利 在线 | 日本无卡码一区二区三区 | 亚洲精品一区二区 | 不卡一级aaa全黄毛片 | www.国产一区二区三区 | 91欧美激情一区二区三区成人 | 中文综合 | 91亚洲精品一区二区福利 | 一区在线看 | 成人免费视频视频在线不卡 | 亚洲国产精品日韩一线满 | 末发育娇小性色xxxxx | 羞羞动漫免费看 | 成年人在线视频免费观看 | 久久99国产精品二区不卡 | 欧美特级特黄a大片免费 | 中文字幕亚洲专区 | 亚洲人成网站在线观看播放青青 | 日本色性 | 国产精品亚洲欧美一区麻豆 | 极品一区 | 四虎永久免费网站入口2020 | 欧美视频在线观看爱爱 | 欧美日韩在线永久免费播放 | 免费日本在线 | 韩国一级做a爰片性色毛片 韩国在线观看免费观看影院 | 日韩a级毛片免费视频 | 欧美日韩一区二区三区四区在线观看 | 黄色亚洲网站 | 激情欧美日韩一区二区 | 在线精品自拍 | 亚洲欧洲国产综合 | 18在线网站 | 欧美亚洲综合另类在线观看 |