java的jdbc編程
㈠ jdbc腳本如何製作
使用java程序來操作資料庫,後者更加直接的話就是使用Java程序來發送sql語句的技術稱之為:JDBC。下面這篇文章主要給大家介紹了關於利用java如何創建一個jdbc程序的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。
JDBC簡介
Java資料庫連接(Java Database Connectivity,JDBC),是一種用於執行SQL語句的Java API,它由一組用Java編程語言編寫的類和介面組成。
JDBC為資料庫開發人員提供了一個標準的API,使他們能夠用純Java API來編寫資料庫應用程序。
使用JDBC編寫的程序能夠自動地將SQL語句傳送給相應的資料庫管理系統。
JDBC擴展了Java的功能,由於Java語言本身的特點,使得JDBC具有簡單、健壯、安全、可移植、獲取方便等優勢。
我們在沒有JDBC之前,使用驅動程序在Java程序與MySQL、Oracle、SQLServer等資料庫之間建立連接,驅動程序就是在該課程中將要學到的內容。那麼就存在一個問題:在同一個Java程序與資料庫之間建立連接時,驅動程序是否是共用的呢?如果一樣,很顯然就能節省代碼量,但是實際上是不一樣的。一定要注意是不一樣的。那麼就存在一個問題:當底層資料庫發生改變之後,資料庫的驅動程序也會隨之發生變化,那麼該怎麼解決該問題呢?於是JDBC出現了,目的是為了減輕開發人員的工作量,以提高代碼的復用。
㈡ java的swing結合JDBC編程中用什麼關鍵字獲取資料庫中的值
首先在你的工程下載入你要連的資料庫驅動,下面我用Mysql為例。
建一個連接資料庫的方法
public Connection getConn(){
Connection con = null;
try {
Class.forName("com.mysql.jdbc.Driver");//載入驅動
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/ascentsource?useUnicode=true&characterEncoding=gb2312","root","4859306");//連接資料庫
}catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("獲取失敗!=1");
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("獲取失敗!=2");
e.printStackTrace();
}
return con;//返回連接
}
然後就寫個方法來調用了!現在有表,名為TABLE1 欄位為id,name,age,address把資料庫里的記錄取出 你可以自己寫個類把id,name或是資料庫得其他內容封裝成這個類的屬性這里我用student類代替
class Student{
public int id;
public String name,age,address;
public Student(int id,String name,String age,String address){
this.id = id;
this.name = name;
this.age = age;
this.address = address;
}
}
public List SelectData(){
Connection con = ds.getConn();//獲取資料庫連接
Statement st = null;
ResultSet rs = null;//定義結果集
List list = new ArrayList();//創建一個集合
Student sd = null;//創建一個學生對象,其屬性為資料庫里的欄位
String sql = "select * from TABLE1";//SQL語句
try {
st = con.createStatement();//創建連接
rs = st.executeQuery(sql);//把查詢的結果放入結果集中
while(rs.next()){
sd = new Student(rs.getString("id"),rs.getString("name"),rs.getString("age"),rs.getString("address"));
list.add(sd);//把對象放到集合中
}
con.close();//關閉資料庫連接
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;//返回所有資料庫記錄
}
你在你想用資料庫里內容的地方調用SelectData方法就可以了!你可以根據需要修改你的SQL語句!
㈢ 什麼是JDBC,說的詳細一點,本人正在學習java的數據編程,謝謝
定義
JDBC(Java Data Base Connectivity,java資料庫連接)是一種用於執行SQL語句的Java API,可以為多種關系資料庫提供統一訪問,它由一組用Java語言編寫的類和介面組成。JDBC為工具/資料庫開發人員提供了一個標準的API,據此可以構建更高級的工具和介面,使資料庫開發人員能夠用純 Java API 編寫資料庫應用程序,同時,JDBC也是個商標名。 有了JDBC,向各種關系數據發送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問Sybase資料庫專門寫一個程序,為訪問Oracle資料庫又專門寫一個程序,或為訪問Informix資料庫又編寫另一個程序等等,程序員只需用JDBC API寫一個程序就夠了,它可向相應資料庫發送SQL調用。同時,將Java語言和JDBC結合起來使程序員不必為不同的平台編寫不同的應用程序,只須寫一遍程序就可以讓它在任何平台上運行,這也是Java語言「編寫一次,處處運行」的優勢。 Java資料庫連接體系結構是用於Java應用程序連接資料庫的標准方法。JDBC對Java程序員而言是API,對實現與資料庫連接的服務提供商而言是介面模型。作為API,JDBC為程序開發提供標準的介面,並為資料庫廠商及第三方中間件廠商實現與資料庫的連接提供了標准方法。JDBC使用已有的SQL標准並支持與其它資料庫連接標准,如ODBC之間的橋接。JDBC實現了所有這些面向標準的目標並且具有簡單、嚴格類型定義且高性能實現的介面。 Java 具有堅固、安全、易於使用、易於理解和可從網路上自動下載等特性,是編寫資料庫應用程序的傑出語言。所需要的只是 Java應用程序與各種不同資料庫之間進行對話的方法。而 JDBC 正是作為此種用途的機制。 JDBC 擴展了 Java 的功能。例如,用 Java 和 JDBC API 可以發布含有 applet 的網頁,而該 applet 使用的信息可能來自遠程資料庫。企業也可以用 JDBC 通過 Intranet 將所有職員連到一個或多個內部資料庫中(即使這些職員所用的計算機有 Windows、 Macintosh 和UNIX 等各種不同的操作系統)。隨著越來越多的程序員開始使用Java 編程語言,對從 Java 中便捷地訪問資料庫的要求也在日益增加。 MIS 管理員們都喜歡 Java 和 JDBC 的結合,因為它使信息傳播變得容易和經濟。企業可繼續使用它們安裝好的資料庫,並能便捷地存取信息,即使這些信息是儲存在不同資料庫管理系統上。新程序的開發期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應用程序或只更新一次,然後將它放到伺服器上,隨後任何人就都可得到最新版本的應用程序。對於商務上的銷售信息服務, Java 和JDBC 可為外部客戶提供獲取信息更新的更好方法。
其實我想說的是你在網路首頁輸入提問內容就可以了啊。我只是個打醬油的。
㈣ java中使用JDBC連接資料庫的步驟
1.class.forName("驅動所在類及包名") 還需導入jar包
2.java.sql.Connection conn = DriverManager.getConnection(URL(即資料庫連接的ulr),USERNAME(對應數據的用戶名),PASSWORD(密碼));
3.String sql = "SELECT * FROM tableName WHERE id=?";
4.java.sql.PreparedStatement ptmt = conn.getPreparedStatement(sql);
5.ptmt.setInt(1,id值);
6.java.sql.ResultSet rs = ptmt.executeQuery();
7.while(rs.next){
System.out.println(rs.getString("欄位名"));
}
8.conn.close();ptmt.close();rs.close();
㈤ Java語言中,用JDBC編寫資料庫應用程序需要哪幾步
1、裝庫,建庫;
2、找到相應的資料庫連接包,sql、oracle都有對應的jar包;
2、寫一個類,結合對應的jar包來連接資料庫;
3、再寫一個類,通過第二步的類用來對資料庫操作。
其實是比較簡單的。
㈥ 列舉Java JDBC編程中主要的介面和類及功能,列舉JDBC編程的步驟
JAVA和C#中的字元串方法基本上是一樣的包括indexof,indexofany,lastindexof,replaceall等等,參數也基本一樣,具體可以參考一下VS的MSDN。兩者都有兩種字元串類型,string和stringBuilder,前者是固定字元串,不能修改,後者可以通過append附加。至於SQL嘛,難說一點,字元串類型有四種,char,nchar。vchar,nvchar,前兩種是定長字元串,後兩種是變長的,最大存儲都是8000個字元。最常用的方法就是將其他類型變數轉換為字元型的convert方法。。
㈦ java的jdbc編程建立MySQL資料庫,增刪查改這些語句需要寫成java代碼嗎還是直接在圖形
jdbc編程么,就是通過java代碼來操作資料庫,資料庫的圖形用戶界面,是mysql自帶的一套管理程序。他和你用java寫的程序是並行的,沒有關系,只是都可以操作同一份數據。所以,如果你想要在java程序中去操作資料庫的數據表,那麼要在代碼中寫。如果你只是想看看資料庫的內容,那麼用自帶的圖形界面就更方便。
㈧ JDBC是什麼
JDBC代表Java資料庫連接,這對Java編程語言和廣泛的資料庫之間獨立於資料庫的連接標準的Java API。
JDBC庫包含的API為每個通常與資料庫的使用相關聯的任務:
使得連接到資料庫
創建SQL或MySQL語句
執行SQL或MySQL的查詢資料庫
查看和修改結果記錄從根本上說,JDBC是一種規范,它提供的介面,一套完整的,允許攜帶型訪問底層資料庫。可以用Java來寫不同類型的可執行文件,如:
Java應用程序
Java Applets
Java Servlets
Java ServerPages (JSP)
Enterprise JavaBeans (EJBs)所有這些不同的可執行文件就可以使用JDBC驅動程序來訪問資料庫,並把存儲的數據的優勢。
JDBC提供了相同的功能,ODBC,允許Java程序包含與資料庫無關的代碼。
先決條件:
以前正如期進行本教程,需要具備以下兩個主題內容很好的了解:
核心Java編程
SQL或MySQL資料庫
JDBC架構:
JDBC API支持兩層和三層處理模型進行資料庫訪問,但在一般的JDBC體系結構由兩層組成:
JDBC API: 提供了應用程序對JDBC的管理連接。
JDBC Driver API: 支持JDBC管理到驅動器連接。JDBC API的使用驅動程序管理器和資料庫特定的驅動程序提供透明的連接到異構資料庫。
JDBC驅動程序管理器可確保正確的驅動程序來訪問每個數據源。該驅動程序管理器能夠支持連接到多個異構資料庫的多個並發的驅動程序。
以下是結構圖,它顯示了驅動程序管理器方面的JDBC驅動程序和Java應用程序的位置:
常見的JDBC組件:
JDBC API提供了以下介面和類:
DriverManager: 這個類管理資料庫驅動程序的列表。內容是否符合從Java應用程序使用的通信子協議正確的資料庫驅動程序的連接請求。識別JDBC在一定子協議的第一個驅動器將被用來建立資料庫連接。
Driver: 此介面處理與資料庫伺服器通信。很少直接與驅動程序對象。相反,使用DriverManager中的對象,它管理此類型的對象。它也抽象與驅動程序對象工作相關的詳細信息
Connection : 此介面與接觸資料庫的所有方法。連接對象表示通信上下文,即,與資料庫中的所有的通信是通過唯一的連接對象。
Statement : 可以使用這個介面創建的對象的SQL語句提交到資料庫。一些派生的介面接受除執行存儲過程的參數。
ResultSet: 這些對象保存從資料庫後,執行使用Statement對象的SQL查詢中檢索數據。它作為一個迭代器,讓您可以通過移動它的數據。
SQLException: 這個類處理發生在一個資料庫應用程序的任何錯誤。
㈨ jdbc編程的異常類型是什麼
那些你不知道的 JDBC 異常類型:
(1)java.sql.SQLException: connection holder is null。
連接超時,主要是 update 或者select 的數據量太大超過,連接持有時間。
解決方式;分片查詢 最好 2000以內,查詢出來就立刻處理。否則數據量大的時候,會佔用很多的JVM內存。
對應配置:主要是資料庫連接池的配置, druid 對應removeAbandonedTimeout。
(2)com.mysql.jdbc.exceptions.jdbc4.CommunicationsException。
同上。
當資料庫重啟或資料庫空閑連接超過設置的最大timemout時間,資料庫會強行斷開已有的鏈接,最大timeout時間可以通過命令。
使用資料庫連接池的時候,增加連接池的資料庫連接超時時間,但是不能超過數據配置的時間。在連接池中配置testOnBorrow,即申請連接的時候先試一試連接是否可用,不過帶來的影響就是性能降低,需要根據實際需求合理取捨。
(3)com.mysql.jdbc.PacketTooBigException。
主要是批量insert入庫的時候,數據量太大導致的,建議分片錄入到資料庫中,比如 每2000條數據入庫一次。
對應mysql的配置參數:這個參數默認是1M。可以臨時修改這個值解決問題,最終還是要通修改程序來解決,否則會嚴重降低系統性能。