文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java怎么连接MySQL数据库

2023-06-29 22:59

关注

今天小编给大家分享一下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;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;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;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;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;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;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数据库”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯