日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL Java的JDBC编程

發布時間:2023/12/18 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL Java的JDBC编程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

🤞目錄🤞

💖1. Java的數據庫編程:JDBC

💖2. JDBC工作原理

💖3.?JDBC使用


🏀1. Java的數據庫編程:JDBC

JDBC,即Java Database Connectivityjava數據庫連接。是一種用于執行SQL語句的Java API,它是 Java中的數據庫連接規范。這個APIjava.sql.*,javax.sql.* 包中的一些類和接口組成,它為Java 開發人員操作數據庫提供了一個標準的API,可以為多種關系數據庫提供統一訪問。

🏀2. JDBC工作原理

JDBC 為多種關系數據庫提供了統一訪問方式,作為特定廠商數據庫訪問API的一種高級抽象,它主要包含一些通用的接口類。

🏀3.?JDBC使用

準備數據庫驅動包,并添加到項目的依賴中:

使用java IDEA 新建一個Maven項目

?打開并配置 pom.xml?

🎈建立數據庫連接: MysqlDataSource db = new MysqlDataSource();// 1. 告訴客戶端,MySQL服務器在哪// 通過告訴 地址 + 端口db.setServerName("localhost");db.setPort(3306);// 2. 認證(名稱 + 密碼)db.setUser("root");db.setPassword("123456");// 設置默認庫(要操作的庫名)db.setDatabaseName("0331_library");// 3. 其他配置db.setUseSSL(false);db.setCharacterEncoding("utf-8");db.setServerTimezone("Asia/Shanghai");

🎈為了方便我們新建一個DBUtil類,直接調用即可

public class DBUtil {private static final DataSource dataSource;static {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");dataSource = db;}public static Connection connection() throws SQLException {return dataSource.getConnection();} } 🎈使用演示: //已設默認庫,寫執行語句// a. 查詢String sql = "select * from books";// 4. 通過網絡和MySQL服務器建立連接try (Connection c = DBUTil.connection()) {// 5. 發送給MySQL服務器我們的語句try (PreparedStatement ps = c.prepareStatement(sql)) {// 6. executeQuery 執行查詢// 7. ResultSet接收(需要輸出)try (ResultSet rs = ps.executeQuery()) {// 8. 遍歷、檢索、打印集中的數據while (rs.next()) {String rid = rs.getString(1);String name = rs.getString(2);String stock = rs.getString(3);String total = rs.getString(4);System.out.printf("%s\t%s\t%s\t%s\n",rid,name,stock,total);}}}}

🎈對該庫具體的增刪改查完整代碼如下:

import java.sql.*; import java.util.Scanner;public class Demo1 {public static void main(String[] args) throws SQLException {Scanner scanner = new Scanner(System.in);try(Connection c = DBUtil.connection()){// 1.增String sql1 = "insert into readers (name) values (?)";String newReaderName = scanner.next();//Statement.RETURN_GENERATED_KEYS 得到自增值操作try(PreparedStatement ps = c.prepareStatement(sql1,Statement.RETURN_GENERATED_KEYS)){ps.setString(1,newReaderName);ps.executeUpdate();try(ResultSet rs = ps.getGeneratedKeys()){rs.next();int rid = rs.getInt(1);System.out.println("新插入了一個reader:" + rid +"\t"+newReaderName);}}// 2.刪String sql2 = "delete from readers where name = '劉昕怡'";try(PreparedStatement ps = c.prepareStatement(sql2)){ps.executeUpdate();}// 3.改String sql3 = "update readers set name = '劉昕怡' where name = '陳浩民'";try (PreparedStatement ps = c.prepareStatement(sql3)){ps.executeUpdate();}// 4.查String sql4 = "select * from books where 1 = 1";try(PreparedStatement ps = c.prepareStatement(sql4)){try(ResultSet rs = ps.executeQuery()){while (rs.next()){int rid = rs.getInt(1);String name = rs.getString(2);int stock = rs.getInt(3);int total = rs.getInt(4);System.out.printf("%d\t%s\t%d\t%d\n",rid,name,stock,total);}}}}} }

🎈此代碼中涉及兩個表:

readers表:

?books表:

🎈MYSQL建表等操作請見上節:《 MySQL 增刪改查(基礎 + 詳解)》

總結

以上是生活随笔為你收集整理的MySQL Java的JDBC编程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。