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

Java連接MySQL數(shù)據(jù)庫(kù)實(shí)例

 更新時(shí)間:2022年04月09日 09:52:04   作者:景苒  
這篇文章介紹了Java連接MySQL數(shù)據(jù)庫(kù)實(shí)例的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

首先說(shuō)明,由于是8版本的數(shù)據(jù)庫(kù),所以配置類(lèi)的寫(xiě)法上與5版本的有所區(qū)別,需要注意,同時(shí)用idea或eclipse時(shí)需要導(dǎo)入jar包,jar包的下載鏈接:

https://dev.mysql.com/get/archives/mysql-connector-java-8.0/mysql-connector-java-8.0.28.zip

如果想要下載8版本不同的jar包只需要修改8.0.28為指定版本即可。

idea導(dǎo)入jar包的方法如下:

然后是代碼部分,首先先建表:

CREATE TABLE `train_message` (
                                 `id` int NOT NULL AUTO_INCREMENT COMMENT '主鍵id',
                                 `train_name` varchar(20) NOT NULL COMMENT '列車(chē)名',
                                 `origin` varchar(30) NOT NULL COMMENT '始發(fā)地',
                                 `terminal` varchar(30) NOT NULL COMMENT '終到地',
                                 `departure_time` timestamp NOT NULL COMMENT '出站時(shí)間',
                                 `state` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '正常' COMMENT '列車(chē)狀態(tài)',
                                 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb3

然后創(chuàng)建連接的配置類(lèi)DbConfig.java,localhost是本機(jī)的ip地址,如果有服務(wù)器就填服務(wù)器的ip地址,message是數(shù)據(jù)庫(kù)的名字,這里一張圖說(shuō)下有很多新手誤解的名字

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 *  數(shù)據(jù)庫(kù)配置類(lèi)
 *  @author 景苒
 */
public class DbConfig {
    public Connection dbConfig() throws SQLException {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
        }catch (Exception e) {
            System.out.print("加載驅(qū)動(dòng)失敗!");
            e.printStackTrace();
        }
        String url = "jdbc:mysql://localhost:3306/message?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true";
        String user = "root";
        String password = "123456";
        return DriverManager.getConnection(url, user, password);
    }
}

然后寫(xiě)下主函數(shù)Main.java,這里主函數(shù)的函數(shù)體可以在最后再寫(xiě),需要什么功能就把注釋打開(kāi)就好,快捷注釋的方法,選中這句話(huà),按ctrl加/,就能全注釋了。

import java.sql.SQLException;

/**
 * 主函數(shù),調(diào)用功能
 * @author 景苒
 */
public class Main {
    public static void main(String[] args) throws SQLException {
//        new GetMessage().getMessage();
//        new UpdateTrainState().updateTrainState();
//        new InsertTrain().insertTrain();
//        new GetNumber().getNumber();
    }
}

然后是每個(gè)的功能:

1.查詢(xún)沈陽(yáng)到武漢的所有列車(chē)信息,按出發(fā)時(shí)間先后排序

建GetMessage.java類(lèi)

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * 查詢(xún)沈陽(yáng)到武漢的所有列車(chē)信息,按出發(fā)時(shí)間先后排序
 * @author 景苒
 */
public class GetMessage {
    public void getMessage() throws SQLException {
        Connection con = new DbConfig().dbConfig();
        String sql = "select * from `train_message` where origin = ? and terminal = ? ORDER BY departure_time ASC";
        String origin = "沈陽(yáng)";
        String terminal = "武漢";
        PreparedStatement ps = con.prepareStatement(sql);
        ps.setString(1, origin);
        ps.setString(2, terminal);
        ResultSet rs = ps.executeQuery();
        try {
            while (rs.next()) {
                System.out.println("列車(chē)名:" + rs.getString("train_name")
                        + " 始發(fā)站:" + rs.getString("origin")
                        + " 終到站:" + rs.getString("terminal")
                        + " 出發(fā)時(shí)間:" + rs.getString("departure_time")
                        + " 列車(chē)狀態(tài):" + rs.getString("state"));
            }
        }catch (SQLException e) {
            e.printStackTrace();
        }finally {
            ps.close();
            con.close();
        }
    }
}

2.修改T2255列車(chē)的狀態(tài)為停運(yùn)

建UpdateTrainState.java類(lèi)

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * 修改T2255列車(chē)的狀態(tài)為停運(yùn)
 * @author 景苒
 */
public class UpdateTrainState {
    public void updateTrainState() throws SQLException {
        Connection con = new DbConfig().dbConfig();
        String sql = "UPDATE `train_message` SET state = '停運(yùn)' WHERE train_name = 'T2255'";
        Statement statement = con.createStatement();
        try {
            int i = statement.executeUpdate(sql);
            if (i > 0) {
                System.out.println("更新成功");
            }else {
                System.out.println("更新失敗");
            }
        }catch (SQLException e) {
            e.printStackTrace();
        }finally {
            statement.close();
            con.close();
        }
    }
}

3.新增一輛列車(chē)信息(自己輸入)

建InsertTrain.java類(lèi)

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;

/**
 * 新增一輛列車(chē)信息(自己輸入)
 * 始發(fā)時(shí)間為timestamp類(lèi)型,輸入時(shí)需要確保格式正確,如:2019-01-01 00:00:00
 * @author 景苒
 */
public class InsertTrain {
    public void insertTrain() throws SQLException {
        Connection con = new DbConfig().dbConfig();
        Scanner scanner = new Scanner(System.in);
        String sql = "insert into `train_message` values(null, ?, ?, ?, ?, default)";
        System.out.print("請(qǐng)輸入列車(chē)名:");
        String trainName = scanner.nextLine();
        System.out.print("請(qǐng)輸入始發(fā)站:");
        String origin = scanner.nextLine();
        System.out.print("請(qǐng)輸入終到站:");
        String terminal = scanner.nextLine();
        System.out.print("請(qǐng)輸入始發(fā)時(shí)間:");
        String departureTime = scanner.nextLine();
        PreparedStatement ps = con.prepareStatement(sql);
        ps.setString(1, trainName);
        ps.setString(2, origin);
        ps.setString(3, terminal);
        ps.setString(4, departureTime);
        try {
            int i = ps.executeUpdate();
            if (i > 0) {
                System.out.println("添加成功");
            }else {
                System.out.println("添加失敗");
            }
        }catch (SQLException e) {
            e.printStackTrace();
        }finally {
            ps.close();
            con.close();
        }
    }
}

4.查詢(xún)狀態(tài)為正常的列車(chē)數(shù)量

建GetNumber.java類(lèi)

import java.sql.Statement;

/**
 * 查詢(xún)狀態(tài)為正常的列車(chē)數(shù)量
 * @author 景苒
 */
public class GetNumber {
    public void getNumber() throws SQLException {
        Connection con = new DbConfig().dbConfig();
        String sql = "select count(state) from `train_message` where state = '正常'";
        Statement statement = con.createStatement();
        try {
            ResultSet resultSet = statement.executeQuery(sql);
            while (resultSet.next()) {
                System.out.println("狀態(tài)為正常的列車(chē)數(shù)量為:" + resultSet.getInt(1));
            }
        }catch (SQLException e){
            e.printStackTrace();
        }finally {
            statement.close();
            con.close();
        }
    }
}

最后附上navicat的屬性結(jié)構(gòu)圖和樣例插入的語(yǔ)句

數(shù)據(jù)根據(jù)自己需求自行寫(xiě)入幾個(gè)就行,以上就是java連接mysql數(shù)據(jù)庫(kù)的實(shí)例代碼,eclipse也大同小異,就導(dǎo)入jar包的方式不同。

到此這篇關(guān)于Java連接MySQL數(shù)據(jù)庫(kù)實(shí)例的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring中配置和讀取多個(gè)Properties文件的方式方法

    Spring中配置和讀取多個(gè)Properties文件的方式方法

    本篇文章主要介紹了Spring中配置和讀取多個(gè)Properties文件的方式方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-04-04
  • SpringBoot Starter機(jī)制及整合tomcat的實(shí)現(xiàn)詳解

    SpringBoot Starter機(jī)制及整合tomcat的實(shí)現(xiàn)詳解

    這篇文章主要介紹了SpringBoot Starter機(jī)制及整合tomcat的實(shí)現(xiàn),我們知道SpringBoot自己在“后臺(tái)”幫我們配置了很多原本需要我們手動(dòng)去的東西,至于這個(gè)“后臺(tái)”是啥,就是Starter機(jī)制
    2022-09-09
  • SpringBoot整合Mybatis-Plus、Jwt實(shí)現(xiàn)登錄token設(shè)置

    SpringBoot整合Mybatis-Plus、Jwt實(shí)現(xiàn)登錄token設(shè)置

    Spring Boot整合Mybatis-plus實(shí)現(xiàn)登錄常常需要使用JWT來(lái)生成用戶(hù)的token并設(shè)置用戶(hù)權(quán)限的攔截器,本文就來(lái)詳細(xì)的介紹一下,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • 解決SpringBoot jar包中的文件讀取問(wèn)題實(shí)現(xiàn)

    解決SpringBoot jar包中的文件讀取問(wèn)題實(shí)現(xiàn)

    這篇文章主要介紹了解決SpringBoot jar包中的文件讀取問(wèn)題實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Springboot之@ConfigurationProperties注解解讀

    Springboot之@ConfigurationProperties注解解讀

    在Spring Boot中,@EnableConfigurationProperties注解的主要作用是激活@ConfigurationProperties注解的配置屬性類(lèi),從而讓配置屬性類(lèi)能被Spring容器管理,這樣的話(huà),我們就可以在屬性類(lèi)中輕松地使用@ConfigurationProperties來(lái)綁定配置文件中的屬性
    2024-10-10
  • SpringBoot日期格式轉(zhuǎn)換之配置全局日期格式轉(zhuǎn)換器的實(shí)例詳解

    SpringBoot日期格式轉(zhuǎn)換之配置全局日期格式轉(zhuǎn)換器的實(shí)例詳解

    這篇文章主要介紹了SpringBoot日期格式轉(zhuǎn)換之配置全局日期格式轉(zhuǎn)換器的實(shí)例詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Java Scala的隱式轉(zhuǎn)換詳解

    Java Scala的隱式轉(zhuǎn)換詳解

    隱式轉(zhuǎn)換是在Scala編譯器進(jìn)行類(lèi)型匹配時(shí),如果找不到合適的類(lèi)型,那么隱式轉(zhuǎn)換會(huì)讓編譯器在作用范圍內(nèi)自動(dòng)推導(dǎo)出來(lái)合適的類(lèi)型。本文通過(guò)代碼示例介紹了Scala的隱式轉(zhuǎn)換,感興趣的小伙伴可以參考閱讀
    2023-04-04
  • Java人機(jī)猜拳實(shí)現(xiàn)的思路及方法實(shí)例

    Java人機(jī)猜拳實(shí)現(xiàn)的思路及方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于Java人機(jī)猜拳實(shí)現(xiàn)的思路及方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Spring MVC下 bootStrap服務(wù)器分頁(yè)代碼

    Spring MVC下 bootStrap服務(wù)器分頁(yè)代碼

    因?yàn)镾pring 對(duì)于ajax直接返回對(duì)象,到了WEB頁(yè)面就轉(zhuǎn)換成json 所以不需要使用JSON轉(zhuǎn)換封裝可以直接使用。接下來(lái)通過(guò)本文給大家分享Spring MVC下 bootStrap服務(wù)器分頁(yè)代碼,需要的的朋友參考下
    2017-03-03
  • 關(guān)于連接遠(yuǎn)程redis的流程

    關(guān)于連接遠(yuǎn)程redis的流程

    這篇文章主要介紹了關(guān)于連接遠(yuǎn)程redis的流程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評(píng)論

仪陇县| 秦安县| 石渠县| 阿合奇县| 和平区| 荆门市| 深圳市| 黑山县| 定边县| 曲靖市| 清新县| 梨树县| 花垣县| 青河县| 都安| 安义县| 页游| 尚义县| 巴林左旗| 芦溪县| 丹阳市| 浦东新区| 平邑县| 桂平市| 岑溪市| 驻马店市| 南投市| 遂川县| 淮安市| 莲花县| 太仆寺旗| 诸暨市| 恭城| 西乌| 龙州县| 永嘉县| 镇坪县| 宝清县| 酉阳| 盘锦市| 罗山县|