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

一篇文章帶你了解java數(shù)據(jù)庫(kù)連接

 更新時(shí)間:2021年08月04日 15:13:28   作者:wwwzhouzy  
這篇文章主要介紹了Java基于連接數(shù)據(jù)庫(kù)及顯示數(shù)據(jù)操作,結(jié)合實(shí)例形式分析了Java使用jdbc進(jìn)行mysql數(shù)據(jù)庫(kù)連接與數(shù)據(jù)讀取、顯示等相關(guān)操作技巧,需要的朋友可以參考下

一、下載安裝mysql

下載地址:https://dev.mysql.com/downloads/connector/j/

可以選擇對(duì)應(yīng)的版本下載,最新的是8.0版本,本章使用的是5.0版本

二、引入驅(qū)動(dòng)包

驅(qū)動(dòng)包下載:mysql-connector-java-5.1.39-bin.jar

MySQL 8.0 以上版本的數(shù)據(jù)庫(kù)連接有所不同:

  • 1、MySQL 8.0 以上版本驅(qū)動(dòng)包版本 mysql-connector-java-8.0.16.jar
  • 2、com.mysql.jdbc.Driver 更換為 com.mysql.cj.jdbc.Driver。
  • MySQL 8.0 以上版本不需要建立 SSL 連接的,需要顯示關(guān)閉。
  • allowPublicKeyRetrieval=true 允許客戶(hù)端從服務(wù)器獲取公鑰。
  • 最后還需要設(shè)置 CST。

加載驅(qū)動(dòng)與連接數(shù)據(jù)庫(kù)方式如下:

Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test_demo?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC","root","password");

三、示例

1、引驅(qū)動(dòng)包

2、建表

CREATE TABLE `websites` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` char(20) NOT NULL DEFAULT '' COMMENT '站點(diǎn)名稱(chēng)',
  `url` varchar(255) NOT NULL DEFAULT '',
  `alexa` int(11) NOT NULL DEFAULT '0' COMMENT 'Alexa 排名',
  `country` char(10) NOT NULL DEFAULT '' COMMENT '國(guó)家',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

3、添加數(shù)據(jù)

INSERT INTO `test_demo`.`websites` (`id`, `name`, `url`, `alexa`, `country`) VALUES ('1', 'Google', 'https://www.google.cm/', '1', 'USA');
INSERT INTO `test_demo`.`websites` (`id`, `name`, `url`, `alexa`, `country`) VALUES ('2', '淘寶', 'https://www.taobao.com/', '13', 'CN');
INSERT INTO `test_demo`.`websites` (`id`, `name`, `url`, `alexa`, `country`) VALUES ('3', 'java入門(mén)', 'https://blog.csdn.net/wwwzhouzy/category_11249888.html', '5892', '');
INSERT INTO `test_demo`.`websites` (`id`, `name`, `url`, `alexa`, `country`) VALUES ('4', '微博', 'http://weibo.com/', '20', 'CN');
INSERT INTO `test_demo`.`websites` (`id`, `name`, `url`, `alexa`, `country`) VALUES ('5', 'Facebook', 'https://www.facebook.com/', '3', 'USA');

4、代碼連接

package com.zhouzy.base.t11;
import java.sql.*;

public class MysqlTest {
	 // MySQL 8.0 以下版本 - JDBC 驅(qū)動(dòng)名及數(shù)據(jù)庫(kù) URL
    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
    static final String DB_URL = "jdbc:mysql://localhost:3306/test_demo";
    // MySQL 8.0 以上版本 - JDBC 驅(qū)動(dòng)名及數(shù)據(jù)庫(kù) URL
    //static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";  
    //static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
 
    // 數(shù)據(jù)庫(kù)的用戶(hù)名與密碼,需要根據(jù)自己的設(shè)置
    static final String USER = "root";
    static final String PASS = "123456";
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        try{
            // 注冊(cè) JDBC 驅(qū)動(dòng)
            Class.forName(JDBC_DRIVER);
            // 打開(kāi)鏈接
            System.out.println("連接數(shù)據(jù)庫(kù)...");
            conn = DriverManager.getConnection(DB_URL,USER,PASS);
            // 執(zhí)行查詢(xún)
            System.out.println(" 實(shí)例化Statement對(duì)象...");
            stmt = conn.createStatement();
            String sql;
            sql = "SELECT id, name, url FROM websites";
            ResultSet rs = stmt.executeQuery(sql);
            // 展開(kāi)結(jié)果集數(shù)據(jù)庫(kù)
            while(rs.next()){
                // 通過(guò)字段檢索
                int id  = rs.getInt("id");
                String name = rs.getString("name");
                String url = rs.getString("url");
                // 輸出數(shù)據(jù)
                System.out.print("ID: " + id);
                System.out.print(", 站點(diǎn)名稱(chēng): " + name);
                System.out.print(", 站點(diǎn) URL: " + url);
                System.out.print("\n");
            }
            // 完成后關(guān)閉
            rs.close();
            stmt.close();
            conn.close();
        }catch(SQLException se){
            // 處理 JDBC 錯(cuò)誤
            se.printStackTrace();
        }catch(Exception e){
            // 處理 Class.forName 錯(cuò)誤
            e.printStackTrace();
        }finally{
            // 關(guān)閉資源
            try{
                if(stmt!=null) stmt.close();
            }catch(SQLException se2){
            }// 什么都不做
            try{
                if(conn!=null) conn.close();
            }catch(SQLException se){
                se.printStackTrace();
            }
        }
        System.out.println("再見(jiàn)!");
    }
}

結(jié)果:

連接數(shù)據(jù)庫(kù)...
實(shí)例化Statement對(duì)象...
ID: 1, 站點(diǎn)名稱(chēng): Google, 站點(diǎn) URL: https://www.google.cm/
ID: 2, 站點(diǎn)名稱(chēng): 淘寶, 站點(diǎn) URL: https://www.taobao.com/
ID: 3, 站點(diǎn)名稱(chēng): java入門(mén), 站點(diǎn) URL: https://blog.csdn.net/wwwzhouzy/category_11249888.html
ID: 4, 站點(diǎn)名稱(chēng): 微博, 站點(diǎn) URL: http://weibo.com/
ID: 5, 站點(diǎn)名稱(chēng): Facebook, 站點(diǎn) URL: https://www.facebook.com/
再見(jiàn)!

總結(jié)

本篇文章就到這里了,希望能給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • Springboot集成mqtt客戶(hù)端詳解

    Springboot集成mqtt客戶(hù)端詳解

    MQTT是一個(gè)基于客戶(hù)端-服務(wù)器的消息發(fā)布/訂閱傳輸協(xié)議。MQTT協(xié)議是輕量、簡(jiǎn)單、開(kāi)放和易于實(shí)現(xiàn)的,這些特點(diǎn)使它適用范圍非常廣泛。本文為大家分享了Springboot整合mqtt服務(wù)的示例代碼,需要的可以參考一下
    2022-10-10
  • Spring MVC文件上傳大小和類(lèi)型限制以及超大文件上傳bug問(wèn)題

    Spring MVC文件上傳大小和類(lèi)型限制以及超大文件上傳bug問(wèn)題

    這篇文章主要介紹了Spring MVC文件上傳大小和類(lèi)型限制以及超大文件上傳bug問(wèn)題,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-10-10
  • 關(guān)于Mybatis-Plus?Wrapper是否應(yīng)該出現(xiàn)在Servcie類(lèi)中

    關(guān)于Mybatis-Plus?Wrapper是否應(yīng)該出現(xiàn)在Servcie類(lèi)中

    最近在做代碼重構(gòu),代碼工程采用了Controller/Service/Dao分層架構(gòu),Dao層使用了Mybatis-Plus框架,本文帶領(lǐng)大家學(xué)習(xí)Mybatis-Plus?Wrapper應(yīng)該出現(xiàn)在Servcie類(lèi)中嗎,需要的朋友可以參考下
    2023-05-05
  • Java使用POI從Excel讀取數(shù)據(jù)并存入數(shù)據(jù)庫(kù)(解決讀取到空行問(wèn)題)

    Java使用POI從Excel讀取數(shù)據(jù)并存入數(shù)據(jù)庫(kù)(解決讀取到空行問(wèn)題)

    有時(shí)候需要在java中讀取excel文件的內(nèi)容,專(zhuān)業(yè)的方式是使用java POI對(duì)excel進(jìn)行讀取,這篇文章主要給大家介紹了關(guān)于Java使用POI從Excel讀取數(shù)據(jù)并存入數(shù)據(jù)庫(kù),文中介紹的辦法可以解決讀取到空行問(wèn)題,需要的朋友可以參考下
    2023-12-12
  • Java異常處理的五個(gè)關(guān)鍵字

    Java異常處理的五個(gè)關(guān)鍵字

    本篇文章給大家詳細(xì)講述了關(guān)于Java異常處理的相關(guān)知識(shí)點(diǎn),并列舉了5個(gè)重要關(guān)鍵字,一起啊參考學(xué)下。
    2018-03-03
  • 詳解使用批處理方式配置Java環(huán)境

    詳解使用批處理方式配置Java環(huán)境

    這篇文章主要介紹了詳解使用批處理方式配置Java環(huán)境,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • intellij idea中spring boot properties文件不能自動(dòng)提示問(wèn)題解決

    intellij idea中spring boot properties文件不能自動(dòng)提示問(wèn)題解決

    這篇文章主要介紹了intellij idea中spring boot properties文件不能自動(dòng)提示問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 如何從Java接口的角度切入靜態(tài)工廠模式

    如何從Java接口的角度切入靜態(tài)工廠模式

    靜態(tài)工廠模式是一種改進(jìn)的獲取實(shí)例的方法。通常我們會(huì)使用new關(guān)鍵字調(diào)用類(lèi)的構(gòu)造方法來(lái)創(chuàng)建一個(gè)對(duì)象。靜態(tài)工廠可以根據(jù)用戶(hù)傳入的參數(shù)來(lái)動(dòng)態(tài)地實(shí)例化對(duì)象,避免一次性實(shí)例化所有對(duì)象所帶來(lái)的性能浪費(fèi),同時(shí)也降低了耦合性。
    2021-06-06
  • Kotlin中常見(jiàn)的List使用示例教程

    Kotlin中常見(jiàn)的List使用示例教程

    filter 就像其本意一樣,可以通過(guò) filter 對(duì) Kotlin list 進(jìn)行過(guò)濾,本文重點(diǎn)給大家介紹Kotlin中常見(jiàn)的List使用,感興趣的朋友一起看看吧
    2023-11-11
  • java?集合工具類(lèi)Collections及Comparable和Comparator排序詳解

    java?集合工具類(lèi)Collections及Comparable和Comparator排序詳解

    這篇文章主要介紹了java集合工具類(lèi)Collections及Comparable和Comparator排序詳解,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06

最新評(píng)論

梓潼县| 靖西县| 阿荣旗| 广州市| 遂平县| 吉安县| 武汉市| 松阳县| 文安县| 旅游| 彭水| 古交市| 横山县| 盐津县| 舞钢市| 江门市| 土默特右旗| 泰来县| 延庆县| 宾阳县| 醴陵市| 肃宁县| 哈巴河县| 耿马| 丰顺县| 永济市| 边坝县| 文登市| 乌鲁木齐市| 梁河县| 汪清县| 犍为县| 屏边| 台前县| 南涧| 旌德县| 屏东市| 滨州市| 额尔古纳市| 马公市| 运城市|