JDBC簡介
JDBC全稱為java database connectivity,是sun公司指定的java數(shù)據(jù)庫連接技術(shù)的簡稱。它是sun公司和數(shù)據(jù)庫開發(fā)商共同開發(fā)出來的獨(dú)立于DBMS的應(yīng)用程序接口,它為java程序員進(jìn)行數(shù)據(jù)庫編程提供了統(tǒng)一的API。
JDBC實(shí)際上有兩組API,一組面向java應(yīng)用程序開發(fā)人員,另一組是面向數(shù)據(jù)庫驅(qū)動程序開發(fā)人員的,一般都是數(shù)據(jù)驅(qū)動程序開發(fā)人員利用后面一組API開發(fā)出供應(yīng)程序開發(fā)人員使用的API。
現(xiàn)在很多項目都是使用ORM框架來進(jìn)行與數(shù)據(jù)庫映射的,例如MyBatis和Hibernate都是在JDBC基礎(chǔ)上進(jìn)行了一層封裝來實(shí)現(xiàn)的,所以說JDBC還是非常重要的。
使用JDBC連接數(shù)據(jù)庫的流程
準(zhǔn)備條件:
1、安裝好MySQL;
2、根據(jù)MySQL的版本號,在官網(wǎng)上(
https://downloads.mysql.com/archives/c-j/)下載對應(yīng)版本的MySQL連接數(shù)據(jù)庫的jar包

若不記得MySQL版本號,可通過mysql -u root -p命令,輸入密碼后查看版本號

連接數(shù)據(jù)庫步驟:
- 加載驅(qū)動
try {
Class.forName("com.mysql.cj.jdbc.Driver");//5.?版本的MySQL驅(qū)動為Class.forName("com.mysql.jdbc.Driver");
}catch (ClassNotFoundException e)
{
System.out.println("驅(qū)動加載失敗!");
}
- 建立Connection連接
String url="jdbc:mysql://localhost:3306/db_library?serverTimezone=UTC";
// 8.?版本的MySQL連接數(shù)據(jù)庫時,后邊必須加上參數(shù)serverTimezone=UTC
String user="root";
String password="123456";
public Connection connection=null;
connection = DriverManager.getConnection(url, user, password);
- 創(chuàng)建數(shù)據(jù)庫操作對象Statement
private Statement statement=null;
statement = connection.createStatement();
- 編寫并執(zhí)行SQL語句
ResultSet resultSet=null;
String sql="select * from tb_manager";
resultSet = statement.executeQuery(sql);//該語句會將查詢的結(jié)果存放在resultSet對象中
或
int i = statement.executeUpdate(sql); //該條語句返回的是數(shù)據(jù)庫中變動的行數(shù);
- 對獲取到的ResultSet結(jié)果集對象進(jìn)行處理
try {
while (resultSet.next())
{
if (resultSet.getString("name").equals(user)&&resultSet.getString("PWD").equals(password))
{
return true;
}
}
}catch (Exception e){
System.out.println("查詢異常!");
}
- 關(guān)閉數(shù)據(jù)庫連接
connection.close();
測試案例
public class DB_mysql {
public static void main(String[] args) {
String url="jdbc:mysql://localhost:3306/db_library?serverTimezone=UTC";
String sql="select * from tb_manager";
String user="root";
String password="123456";
Connection connection=null;
Statement statement;
try {
//加載驅(qū)動
Class.forName("com.mysql.cj.jdbc.Driver");
//創(chuàng)建Connection連接對象
connection = DriverManager.getConnection(url,user,password);
//創(chuàng)建數(shù)據(jù)庫操作對象Statement
statement = connection.createStatement();
//執(zhí)行SQL語句,獲取ResultSet對象
ResultSet resultSet=statement.executeQuery(sql);
//int i = statement.executeUpdate(sql);
//對ResultSet對象進(jìn)行處理(下邊直接輸出表中的數(shù)據(jù))
while (resultSet.next())
{
System.out.println("用戶名:"+resultSet.getString("name")+",密碼:"+resultSet.getString("PWD"));
}
}catch (Exception e){
System.out.println(e.getMessage());
}finally {
try {
connection.close();
}catch (Exception e){
System.out.println(e.getMessage());
}
}
}
}
測試結(jié)果:

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至2705686032@qq.com 舉報,一經(jīng)查實(shí),本站將立刻刪除。原文轉(zhuǎn)載: 原文出處: