中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java怎么連接MySQL數據庫

發布時間:2022-04-11 11:07:02 來源:億速云 閱讀:276 作者:iii 欄目:開發技術

今天小編給大家分享一下Java怎么連接MySQL數據庫的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

首先說明,由于是8版本的數據庫,所以配置類的寫法上與5版本的有所區別,需要注意,同時用idea或eclipse時需要導入jar包

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

idea導入jar包的方法如下:

Java怎么連接MySQL數據庫

Java怎么連接MySQL數據庫

Java怎么連接MySQL數據庫

Java怎么連接MySQL數據庫

Java怎么連接MySQL數據庫

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

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

然后創建連接的配置類DbConfig.java,localhost是本機的ip地址,如果有服務器就填服務器的ip地址,message是數據庫的名字,這里一張圖說下有很多新手誤解的名字

Java怎么連接MySQL數據庫

Java怎么連接MySQL數據庫

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

/**
 *  數據庫配置類
 *  @author 景苒
 */
public class DbConfig {
    public Connection dbConfig() throws SQLException {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
        }catch (Exception e) {
            System.out.print("加載驅動失敗!");
            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);
    }
}

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

import java.sql.SQLException;

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

然后是每個的功能:

1.查詢沈陽到武漢的所有列車信息,按出發時間先后排序

建GetMessage.java類

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

/**
 * 查詢沈陽到武漢的所有列車信息,按出發時間先后排序
 * @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 = "沈陽";
        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("列車名:" + rs.getString("train_name")
                        + " 始發站:" + rs.getString("origin")
                        + " 終到站:" + rs.getString("terminal")
                        + " 出發時間:" + rs.getString("departure_time")
                        + " 列車狀態:" + rs.getString("state"));
            }
        }catch (SQLException e) {
            e.printStackTrace();
        }finally {
            ps.close();
            con.close();
        }
    }
}

2.修改T2255列車的狀態為停運

建UpdateTrainState.java類

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

/**
 * 修改T2255列車的狀態為停運
 * @author 景苒
 */
public class UpdateTrainState {
    public void updateTrainState() throws SQLException {
        Connection con = new DbConfig().dbConfig();
        String sql = "UPDATE `train_message` SET state = '停運' 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.新增一輛列車信息(自己輸入)

建InsertTrain.java類

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

/**
 * 新增一輛列車信息(自己輸入)
 * 始發時間為timestamp類型,輸入時需要確保格式正確,如: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("請輸入列車名:");
        String trainName = scanner.nextLine();
        System.out.print("請輸入始發站:");
        String origin = scanner.nextLine();
        System.out.print("請輸入終到站:");
        String terminal = scanner.nextLine();
        System.out.print("請輸入始發時間:");
        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.查詢狀態為正常的列車數量

建GetNumber.java類

import java.sql.Statement;

/**
 * 查詢狀態為正常的列車數量
 * @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("狀態為正常的列車數量為:" + resultSet.getInt(1));
            }
        }catch (SQLException e){
            e.printStackTrace();
        }finally {
            statement.close();
            con.close();
        }
    }
}

最后附上navicat的屬性結構圖和樣例插入的語句

Java怎么連接MySQL數據庫

Java怎么連接MySQL數據庫

數據根據自己需求自行寫入幾個就行,以上就是java連接mysql數據庫的實例代碼,eclipse也大同小異,就導入jar包的方式不同。

以上就是“Java怎么連接MySQL數據庫”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泊头市| 鄂伦春自治旗| 南阳市| 中宁县| 朔州市| 建昌县| 冀州市| 南溪县| 方城县| 阿勒泰市| 湄潭县| 长乐市| 手机| 长岭县| 淳安县| 厦门市| 荔波县| 乐都县| 西和县| 昌宁县| 南投市| 江城| 九台市| 鄂托克前旗| 民权县| 肥城市| 九江县| 朝阳市| 沙河市| 景宁| 新蔡县| 霍山县| 临汾市| 新竹市| 湘西| 台江县| 五大连池市| 得荣县| 灵山县| 新疆| 木里|