直接用Java對數(shù)據(jù)庫進(jìn)行操作
JDBC(Java DataBase Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準(zhǔn),據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠編寫數(shù)據(jù)庫應(yīng)用程序,同時,JDBC也是個商標(biāo)名。
首先要在maven里導(dǎo)入跟數(shù)據(jù)庫相連對jar包
百度搜索 Maven --> mvnrepository --> 輸入搜索mysql

image.png
點(diǎn)擊jar即為我們所需要對jar包
然后下載下來 存放到一個位置

image.png
1)第一個是DriverManager 她是一個實(shí)現(xiàn)類,是一個工廠,我要生成mysql的,我要生成oracle的等等,那就是這個工廠來決定生成對象是什么
2)然后Driver是一個驅(qū)動的接口,也就是說我得告訴你,我生成它那我得應(yīng)用什么呀,應(yīng)用我mysql的驅(qū)動,應(yīng)用我oracle的驅(qū)動
3)通過DriverManager進(jìn)行鏈接,連接到數(shù)據(jù)庫,生成connection對象
- 這個connection對象生成之后,就可以生成執(zhí)行語句,如果他是一個查詢結(jié)果那么可以把這個結(jié)果放到Resultset結(jié)果集接口里,由他進(jìn)行處理
開始實(shí)驗
首先在項目里把驅(qū)動加進(jìn)來 也就是jar包

image.png
有以下的東西就表明加進(jìn)來了

image.png
新建包新建類 開始測試連接
package com.neuedu.dataconnection;
import java.sql.*;
public class MysqlConn {
public static void main(String[] args) {
/*
* 1:加載驅(qū)動
* 2:進(jìn)行連接數(shù)據(jù)庫
* 1)使用DriverManager進(jìn)行連接
* 2)生成對象Connection
* 3:PareparedStatement對象執(zhí)行sql
* //4:結(jié)果集處理-- 只針對select的 處理
* 而對增刪改不作處理,返回的是影響的行數(shù) -- 添加,刪除,修改
*
* //5:提交,--使用自動提交
*
* //6:關(guān)閉:從內(nèi)向外
* */
//1:加載驅(qū)動
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
// 2:進(jìn)行連接數(shù)據(jù)庫
Connection connection=null;
PreparedStatement pstm=null;
ResultSet rs=null;
/*
* 1:url: jdbc:mysql://ip:3306/databasename
* jdbc:使用jdbc連接數(shù)據(jù)庫
* mysql:連接的mysql的數(shù)據(jù)庫,使用mysql的驅(qū)動
* IP:數(shù)據(jù)庫所在的服務(wù)器地址:如果是本地:127.0.0.1|localhost,如果不是本地IP
* 3306:端口號,默認(rèn)
* databasename:數(shù)據(jù)庫名
* 2:username:數(shù)據(jù)庫用戶名
* 3:password:用戶名對應(yīng)的密碼
* */
String url="jdbc:mysql://127.0.0.1:3306/hr";
String username="root";
String password="123456";
try {
connection= DriverManager.getConnection(url,username,password);
// 3:PreparedStatement對象執(zhí)行sql
String sql="select * from employees";
pstm=connection.prepareStatement(sql);//預(yù)編譯SQL語句
//4:結(jié)果集處理 只有select用的query,其他的增刪改都用executeUpdate
rs = pstm.executeQuery();
//ResultSet相當(dāng)于把查詢出來的所有數(shù)據(jù)放到了表格里面,然后它一行一行的讀 提取數(shù)據(jù)
while(rs.next()){
//通過列名列號都可以把數(shù)據(jù)提取出來
System.out.println(rs.getObject(1)+" "+rs.getObject("salary"));
}
//5:自動提交
/* System.out.println(connection);*/
} catch (SQLException e) {
e.printStackTrace();
}finally {
//6:關(guān)閉
try {
if(rs!=null){
rs.close();
}
if(pstm!=null){
pstm.close();
}
if(connection!=null){
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
測試成功如下:

image.png