JDBC總結

JDBC(Java Database Connective):JDBC是一種與不同的數據庫連接的操作標準。

一個類四個接口:
①java.sql.DriverManagers類:驅動管理。(註冊、加載驅動)
②java.sql.Connection接口:數據庫的連接。
創建Statement接口對象的方法:

Statement createStatement();

創建PreparedStatement接口對象的方法:

PreparedStatement prepareStatement(String sql)

注意第二個prepare沒有d!!

③java.sql.Statement接口:操作sql語句。
Statement接口對象實現數據庫操作的方法:

int	executeUpdate(String sql)			//數據更新
ResultSet executeQuery(String sql)	//數據查詢

④java.sql.PreparedStatement接口(子接口):操作sql語句。
一系列的setXxx()方法爲指定順序編號的佔位符設置具體內容。

int	executeUpdate(String sql)			//數據更新
ResultSet executeQuery(String sql)	//數據查詢

⑤java.sql.ResultSet接口:返回查詢結果集,相當於數據表。

第一步:加載驅動程序。
在這裏插入圖片描述

Class.forName("com.mysql.jdbc.Driver");

第二步:連接數據庫。
連接數據庫需要有以下3個信息:數據庫的鏈接地址、數據庫的用戶名、數據的密碼。(數據庫服務要打開)
連接數據庫需要依靠DriverManager類中的方法:

DriverManager.getConnection(String url,String user,String password) throws SQLException;

第三步:執行sql語句並返回執行結果。(用Statement、PreparedStatement、ResultSet結果)

第四步:關閉數據庫。

連接數據庫:(mysql)

import java.sql.*;

public class Test2 {
	private static final String DBDRIVER ="com.mysql.jdbc.Driver";
	private static final String DBURL ="jdbc:mysql://localhost:3306/406";
	private static final String USER ="root";
	private static final String PASSWD ="123456";
	
	public static void main(String[] args) throws Exception{
		
		Class.forName(DBDRIVER);		//第一步:加載驅動程序
		Connection conn =DriverManager.getConnection(DBURL,USER,PASSWD);
										//第二步:連接數據庫
		
		System.out.println(conn);	//返回結果是否連接成功
		conn.close();				//第四步:關閉數據庫
	}
}

在這其中只是執行了1、2、4步操作

關於mysql版本的連接問題:

Statement接口和PreparedStatement接口的區別
(能使用PreparedStatement接口就使用)

用PreparedStatement接口查詢全部數據:

import java.sql.*;

public class Test2 {
	private static final String DBDRIVER ="com.mysql.jdbc.Driver";
	private static final String DBURL ="jdbc:mysql://localhost:3306/406";
	private static final String USER ="root";
	private static final String PASSWD ="123456";
	
	public static void main(String[] args) throws Exception{
		Class.forName(DBDRIVER);		//第一步:加載驅動程序
		Connection conn =DriverManager.getConnection(DBURL,USER,PASSWD);//第二步:連接數據庫		
		String sql =" SELECT uid,uname,pwd FROM t_user ORDER BY uid " ;//第三步:執行sql語句
		PreparedStatement pstmt = conn.prepareStatement(sql);
		ResultSet rs = pstmt.executeQuery() ;		//數據查詢,不設置佔位符
		while(rs.next()){
			int uid =rs.getInt(1);					//取出第1個數據列內容
			String user = rs.getString(2);			//取出第2個數據列內容
			String pwd = rs.getString(3);			//取出第3個數據列內容
			System.out.println(uid+","+user+"," + pwd);
		}
		conn.close();				//第四步:關閉數據庫
	}
}

其實執行不同的操作要改變的只有第三步。

批處理:在JDBC2.0後開始增加,作用是一次性向數據庫中發出多條操作命令。

事務處理的方法:

void	commit()	//事務提交
void	rollback()	//事務回滾
void	setAutoCommit(boolean autoCommit)	//設置是否爲自動提交

事務處理的作用:當批處理進行了數據更新操作時,如果某個SQL語句出現了錯誤,可以設置整體更新操作是否提交。(默認情況下在SQL語句之前的SQL更新都會執行)

發佈了33 篇原創文章 · 獲贊 1 · 訪問量 4707
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章