javamysql源碼分析
首先你要導包
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() ;
}
}
㈡ 大數據分析師面試必備:java與mysql解析
【導讀】作為大數據工程師,其必須要掌握的基礎知識就是java與mysql的關系、交互和連接,作為基礎,也是面試考官經常會考的內容,為了幫助大家都能順利通過考試,今天小編就來和大家嘮一嘮java與mysql的關系、交互和連接,好了,開始今天的內容大數據分析師面試必備:java與mysql解析。
1. SQL語言四大類:
DQL 數據查詢語言 select
DML 數據操作語言 insert、update、delete
DDL 數據界說語言 create、alter
DCL 數據控制語言 grant許可權
2. mysql資料庫中的decimal類型(是數值型,不能存放字元串):
舉例:decimal(18,0) 常用於身份證號碼,但是帶x的不可以。
舉例:decimal(5,2)
狀況一:假設小數點前面是3位,後邊是2位,正常狀況。
狀況二:5指的是小數點前後不能超過5位,小數點後有必要是2位。
3. mysql中InnoDB和MyISAM引擎的差異:
innodb支撐:事務和主外鍵
myisam不支撐:事務和主外鍵
4. 【不需要背誦,選擇題考點】向mysql中,a向表中添加數據的幾種寫法,題目:id int 主鍵自增,name varchar(11)
不為空。
5. 操作mysql資料庫表有兩種方式,第一種:點八點吧;第二種:寫代碼。【不需要背誦,只需要了解,考試選擇題會出】
6. 在Java中,簡述面向對象三大特徵。
7. 在Java中,常用關鍵字:
1. 定義類的關鍵字是什麼? class
2. 繼承的關鍵字是什麼? extends
3. 定義介面的關鍵字是什麼? interface
4. 實現介面的關鍵字是什麼? implements
5. 抽象類的關鍵字是什麼? abstract
8. 在Java中,抽象類和介面的區別:
1. 抽象類中可以包含普通方法和抽象方法,介面中只能包含抽象方法
2. 抽象類中可以有構造方法,介面中沒有構造方法
3. 抽象類只能單繼承,可以實現多個介面
9. Java介面中有哪些成員?
1. 構造方法,沒有
2. 常量,默認訪問修飾符public static final,沒有變數
3. 抽象方法,默認訪問修飾符public abstract
10. 在Java中,抽象類和抽象方法的關系:
1. 抽象類中可以包含普通方法和抽象方法,抽象方法一定存在抽象類中。
2. 子類繼承抽象父類,必須實現|重寫抽象方法,除非子類也是抽象類。
3. 【判斷題】抽象類中必須包含抽象方法?【錯誤×】
4. 【判斷題】抽象方法一定存在抽象類中?【正確√】
11. Java重載的特點:
1. 在同一個類中
2. 方法名相同
3. 參數列表(個數、類型、順序)不同
4. 與返回值類型和訪問修飾符無關
12. Java重寫的特點:
1. 在父子類中
2. 方法名相同
3. 參數列表相同
4. 返回值類型相同,或是其子類
5. 訪問修飾符相同,或不能嚴於父類
13. 列舉幾種Java實現多態的形式:
1. 繼承的存在
2. 父類引用指向子類對象 | 向上轉型
3. 父類作為方法的返回值類型,父類作為方法的參數
14. Java介面的特性:單根性和傳遞性
15. 在Java中,throws和throw的區別:
1. throws 聲明異常,用在定義方法小括弧的後面
2. throw 拋出異常,寫在方法體內
以上就是小編今天給大家整理發送的關於大數據分析師面試必備:java與mysql解析的相關內容,希望對各位考生有所幫助,想知道更多關於數據分析師的基本要求有哪些,關注小編持續更新數據分析師崗位解析。
㈢ 求一JAVAJDBC連接MYSQL資料庫寫法講解
連接代碼如下:
public static void main(String[] args){
// 驅動程序名
String driver = "com.mysql.jdbc.Driver";
// URL指向要訪問的資料庫名scutcs
String url = "jdbc:mysql://127.0.0.1:3306/scutcs";
// MySQL配置時的用戶名
String user = "root";
// MySQL配置時的密碼
String password = "root";
try {
// 載入驅動程序
Class.forName(driver);
// 連續資料庫
Connection conn = DriverManager.getConnection(url, user, password);
if(!conn.isClosed())
System.out.println("Succeeded connecting to the Database!");
// statement用來執行SQL語句
Statement statement = conn.createStatement();
// 要執行的SQL語句
String sql = "select * from student";
// 結果集
ResultSet rs = statement.executeQuery(sql);
System.out.println("-----------------");
System.out.println("執行結果如下所示:");
System.out.println("-----------------");
System.out.println(" 學號" + "\t" + " 姓名");
System.out.println("-----------------");
String name = null;
while(rs.next()) {