JavaShuo
欄目
標籤
java開發中jdbc鏈接數據 庫的操做代碼
時間 2019-11-13
標籤
java
開發
jdbc
鏈接
數據
代碼
欄目
Java
简体版
原文
原文鏈接
JDBC鏈接數據庫
•建立一個以JDBC鏈接數據庫的程序,包含
7
個步驟:
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對象,
該對象就表明一個數據庫的鏈接。
•使用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
、建立一個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接口提供了三種執行SQL語句的方法:executeQuery 、executeUpdate
和execute
1
、ResultSet executeQuery(String sqlString):執行查詢數據庫的SQL語句
,返回一個結果集(ResultSet)對象。
2
、
int
executeUpdate(String sqlString):用於執行INSERT、UPDATE或
DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等
3
、execute(sqlString):用於執行返回多個結果集、多個更新計數或兩者組合的
語句。
具體實現的代碼:
ResultSet rs = stmt.executeQuery(
"SELECT * FROM ..."
) ;
int
rows = stmt.executeUpdate(
"INSERT INTO ..."
) ;
boolean
flag = stmt.execute(String sql) ;
6
、處理結果
兩種狀況:
1
、執行更新返回的是本次操做影響到的記錄數。
2
、執行查詢返回的結果是一個ResultSet對象。
• ResultSet包含符合SQL語句中條件的全部行,而且它經過一套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.
java開發中JDBC鏈接數據庫
2.
java開發中JDBC鏈接數據庫代碼和步驟
3.
Java操做Sqlite數據庫-jdbc鏈接
4.
Java開發JDBC鏈接數據庫
5.
Java操做數據庫——使用JDBC鏈接數據庫
6.
Java數據庫操做(JDBC方式鏈接及基本操做)
7.
JDBC開發,數據庫的鏈接
8.
Java中JDBC的數據庫鏈接池
9.
完整java開發中JDBC鏈接數據庫代碼和步驟
10.
jdbc鏈接數據庫代碼
更多相關文章...
•
Java 中操作 R
-
R 語言教程
•
Java操作Neo4j數據庫(附帶源碼)
-
NoSQL教程
•
PHP開發工具
•
Flink 數據傳輸及反壓詳解
相關標籤/搜索
數據庫斷開鏈接
數據操做
數據庫開發
6-鏈接數據庫(一)
java神操做
數據庫與表的基本操做
數據鏈路
直接數據
數據接口
鏈接
Java
MyBatis教程
Hibernate教程
SQLite教程
數據庫
開發工具
代碼格式化
0
分享到微博
分享到微信
分享到QQ
每日一句
每一个你不满意的现在,都有一个你没有努力的曾经。
最新文章
1.
說說Python中的垃圾回收機制?
2.
螞蟻金服面試分享,阿里的offer真的不難,3位朋友全部offer
3.
Spring Boot (三十一)——自定義歡迎頁及favicon
4.
Spring Boot核心架構
5.
IDEA創建maven web工程
6.
在IDEA中利用maven創建java項目和web項目
7.
myeclipse新導入項目基本配置
8.
zkdash的安裝和配置
9.
什麼情況下會導致Python內存溢出?要如何處理?
10.
CentoOS7下vim輸入中文
本站公眾號
歡迎關注本站公眾號,獲取更多信息
相關文章
1.
java開發中JDBC鏈接數據庫
2.
java開發中JDBC鏈接數據庫代碼和步驟
3.
Java操做Sqlite數據庫-jdbc鏈接
4.
Java開發JDBC鏈接數據庫
5.
Java操做數據庫——使用JDBC鏈接數據庫
6.
Java數據庫操做(JDBC方式鏈接及基本操做)
7.
JDBC開發,數據庫的鏈接
8.
Java中JDBC的數據庫鏈接池
9.
完整java開發中JDBC鏈接數據庫代碼和步驟
10.
jdbc鏈接數據庫代碼
>>更多相關文章<<