最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

零基礎(chǔ)掌握J(rèn)DBC操作MySQL

 更新時間:2022年10月25日 11:35:22   作者:hssq  
JDBC是指Java數(shù)據(jù)庫連接,是一種標(biāo)準(zhǔn)Java應(yīng)用編程接口(?JAVA?API),用來連接?Java?編程語言和廣泛的數(shù)據(jù)庫。從根本上來說,JDBC?是一種規(guī)范,它提供了一套完整的接口,允許便攜式訪問到底層數(shù)據(jù)庫

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自動生成,我們只需要補充,代碼補充完成之后,點擊右上角更新按鈕,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主從延遲帶來的讀寫問題

    詳解如何避免MYSQL主從延遲帶來的讀寫問題

    當(dāng)在主庫上進(jìn)行更新后,有可能數(shù)據(jù)還沒來得及同步到從庫,但是這個時候又有讀數(shù)據(jù)的需求,為了能正確讀取出數(shù)據(jù),這個時候就只有讀主庫了,所以本文給大家介紹了如何避免MYSQL主從延遲帶來的讀寫問題,需要的朋友可以參考下
    2024-03-03
  • mysql處理海量數(shù)據(jù)時的一些優(yōu)化查詢速度方法

    mysql處理海量數(shù)據(jù)時的一些優(yōu)化查詢速度方法

    最近一段時間由于工作需要,開始關(guān)注針對Mysql數(shù)據(jù)庫的select查詢語句的相關(guān)優(yōu)化方法,需要的朋友可以參考下
    2017-04-04
  • MySQL中的SUM函數(shù)使用教程

    MySQL中的SUM函數(shù)使用教程

    這篇文章主要介紹了MySQL中的SUM函數(shù)使用教程,是MySQL入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • PowerDesigner連接MySQL數(shù)據(jù)庫的詳細(xì)步驟

    PowerDesigner連接MySQL數(shù)據(jù)庫的詳細(xì)步驟

    這篇文章主要介紹PowerDesigner連接MySQL數(shù)據(jù)庫的詳細(xì)步驟,文章通過圖文介紹的非常詳細(xì),對大家學(xué)習(xí)PowerDesigner連接MySQL數(shù)據(jù)庫有一定的幫助,需要的朋友可以參考下
    2023-09-09
  • mysql 修改用戶密碼圖文介紹

    mysql 修改用戶密碼圖文介紹

    有許多朋友經(jīng)常需要修改mysql修改用戶密碼,今天提供圖文并茂來解決此類問題,需要的朋友可以參考下
    2012-11-11
  • window下mysql 8.0.15 winx64安裝配置方法圖文教程

    window下mysql 8.0.15 winx64安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了window下mysql 8.0.15 winx64安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • mysql 8.0.18 安裝配置圖文教程

    mysql 8.0.18 安裝配置圖文教程

    這篇文章主要為大家詳細(xì)介紹了mysql 8.0.18 安裝配置圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • MySQL全面瓦解之查詢的正則匹配詳解

    MySQL全面瓦解之查詢的正則匹配詳解

    這篇文章主要給大家介紹了關(guān)于MySQL全面瓦解之查詢的正則匹配的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 解決MySQL共享鎖引發(fā)的死鎖問題

    解決MySQL共享鎖引發(fā)的死鎖問題

    這篇文章主要給大家介紹了MySQL共享鎖引發(fā)的死鎖問題的原因和解決辦法,文中通過代碼示例和圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-11-11
  • MySQL數(shù)據(jù)庫索引以及失效場景詳解

    MySQL數(shù)據(jù)庫索引以及失效場景詳解

    索引是一種數(shù)據(jù)結(jié)構(gòu),為了應(yīng)對不同的場景會有多種實現(xiàn),下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫索引以及失效場景的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01

最新評論

普兰店市| 淮安市| 沽源县| 宣威市| 措美县| 阜康市| 元阳县| 湖南省| 江安县| 博兴县| 株洲市| 托克托县| 西盟| 萨嘎县| 利川市| 信阳市| 原阳县| 怀远县| 深水埗区| 丰原市| 潞西市| 铅山县| 汽车| 黄陵县| 灌云县| 永川市| 陵川县| 宁津县| 鲜城| 无为县| 綦江县| 财经| 宜兴市| 哈巴河县| 青田县| 丽江市| 克山县| 宁强县| 蒲城县| 曲周县| 荥经县|