零基礎(chǔ)掌握J(rèn)DBC操作MySQL
JDBC概述
Java數(shù)據(jù)庫連接,(Java Database Connectivity,簡稱JDBC)是Java語言中用來規(guī)范客戶端程序如何來訪問數(shù)據(jù)庫的應(yīng)用程序接口,提供了諸如查詢和更新數(shù)據(jù)庫中數(shù)據(jù)的方法。
IDEA下創(chuàng)建JDBC環(huán)境
??新建 Maven 工程
?
??填寫項目所在目錄、名稱、GroupId、ArtifactId
?
??配置 pom.xml 文件
在此文件中輸入以下代碼,有部分代碼是IDEA自動生成,我們只需要補(bǔ)充,代碼補(bǔ)充完成之后,點擊右上角更新按鈕,IDEA就會開始下載MySQL連接器,有了這個連接器,我們才能通過Java代碼鏈接MySQL服務(wù)器
首次配置此文件可能需要較長時間
當(dāng)External Libraries 下出現(xiàn)了 mysql-connector-java 時,說明配置成功
?
?
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.hsq</groupId>
<artifactId>jdbc-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.49</version>
</dependency>
</dependencies>
</project>JDBC 下操作 SQL 的套路
??操作 SQL 之前的準(zhǔn)備
1. 構(gòu)造好一個 DataSource 對象
2. 通過 DataSource 得到 Connection 對象
3. 通過 Connection 對象 + SQL 語句,得到 Statement 對象
建議將以下代碼封裝成一個 DBUtil 類,以便之后使用
有了以下代碼就可以正式在 JDBC 下操作 SQL 了
public class DBUtil {
private static final DataSource dateSource;
static {
MysqlDataSource db = new MysqlDataSource();
db.setServerName("localhost");
db.setPort(3306); // MySQL 服務(wù)器端口,一般為3306
db.setUser("root"); // 登錄 MySQL 服務(wù)器的用戶名
db.setPassword("123456"); // 登錄 MySQL 服務(wù)器的密碼
db.setDatabaseName("0331_library"); // 設(shè)置默認(rèn)庫
db.setUseSSL(false);
db.setCharacterEncoding("utf-8");
db.setServerTimezone("Asia/Shanghai");
dateSource = db;
}
public static Connection connection() throws SQLException {
return dateSource.getConnection();
}
}??如何使用代碼執(zhí)行SQL
在 JDBC 下操作 SQL 有兩套固定代碼,只需要更換不同的 SQL 語句即可
1. 帶結(jié)果的 SQL 語句 例如:select
2. 不帶結(jié)果的 SQL 語句 例如:delect,update,insert
帶結(jié)果的 SQL 語句
String sql = "要執(zhí)行的 SQL";
try (Connection c = db.getConnection()) {
try (PreparedStatement ps = c.prepareStatement(sql)) {
try (ResultSet rs = ps.executeQuery()) {
while (rs.next()) {
int i = rs.getInt(1);
String s = rs.getString(2);
}
}
}
}不帶結(jié)果的 SQL 語句
String sql = "不帶結(jié)果的 SQL";
try (Connection c = db.getConnection()) {
try (PreparedStatement ps = c.prepareStatement(sql)) {
ps.executeUpdate();
}
}上面這兩套代碼的主要區(qū)別是:
有結(jié)果的代碼最后需要一個 ResultSet 對象,執(zhí)行 ps.executeQuery(),并且需要 while 來得到每一行的結(jié)果
沒有結(jié)果的代碼則直接執(zhí)行ps.executeUpdate() 即可
JDBC 下增刪改查的完整代碼
public class Main {
public static void main(String[] args) throws SQLException {
MysqlDataSource db = new MysqlDataSource();
db.setServerName("localhost");
db.setPort(3306);
db.setUser("root");
db.setPassword("123456");
db.setDatabaseName("0331_library");
db.setUseSSL(false);
db.setCharacterEncoding("utf-8");
db.setServerTimezone("Asia/Shanghai");
// 增
try (Connection c = db.getConnection()) {
String sql = "insert into readers (name) values ('陳浩')";
try (PreparedStatement ps = c.prepareStatement(sql)) {
ps.executeUpdate();
}
}
// 刪
try (Connection c = db.getConnection()) {
String sql = "delete from readers where rid = 1";
try (PreparedStatement ps = c.prepareStatement(sql)) {
ps.executeUpdate();
}
}
// 改
try (Connection c = db.getConnection()) {
String sql = "update readers set name = '123' where rid = 1";
try (PreparedStatement ps = c.prepareStatement(sql)) {
ps.executeUpdate();
}
}
// 查
try (Connection c = db.getConnection()) {
String sql = "select name from readers where rid = 1";
try (PreparedStatement ps = c.prepareStatement(sql)) {
try (ResultSet rs = ps.executeQuery()) {
where (rs.next) {
String name = rs.getString(1);
}
}
}
}
}到此這篇關(guān)于零基礎(chǔ)掌握J(rèn)DBC操作 MySQL的文章就介紹到這了,更多相關(guān)JDBC操作 MySQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql處理海量數(shù)據(jù)時的一些優(yōu)化查詢速度方法
最近一段時間由于工作需要,開始關(guān)注針對Mysql數(shù)據(jù)庫的select查詢語句的相關(guān)優(yōu)化方法,需要的朋友可以參考下2017-04-04
PowerDesigner連接MySQL數(shù)據(jù)庫的詳細(xì)步驟
這篇文章主要介紹PowerDesigner連接MySQL數(shù)據(jù)庫的詳細(xì)步驟,文章通過圖文介紹的非常詳細(xì),對大家學(xué)習(xí)PowerDesigner連接MySQL數(shù)據(jù)庫有一定的幫助,需要的朋友可以參考下2023-09-09
window下mysql 8.0.15 winx64安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了window下mysql 8.0.15 winx64安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-03-03

