Java用JDBC连接MySQL并进行简单查询

写在前面

**************************************************************************************************************

本文由B站up主“V哥学it”的教程《4小时轻松学会JDBC,连接池以及JdbcTemplate-V哥主讲》整理而来,侵删。

视频网址:https://www.bilibili.com/video/BV1ZK411c75r/

V哥讲的言简意赅,条理清晰,学习JDBC的亲可以去康康呦!

**************************************************************************************************************

一、运行环境

1. java JDK 1.8

2. MySQL 5.7.11

二、数据库建表

1. 新建数据库vgxit_test

2. 新建表user,信息如下:

插入数据:

 

三、下载JDBC所需要的驱动jar包

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

不会下载的话参考文章https://blog.csdn.net/weixin_39609071/article/details/110866742

四、将jar包导入到项目

1. 创建项目后,创建module,取名为ktdm,(这里的module名是课堂代码的首字母,自己改就行)

2. 在ktdm下,创建文件夹libs,并将jar包粘贴进去

 

3.  右键libs,改类型,具体操作如下,(我目前不明白为啥这样做,反正跟着做就行辣)

五、创建连接类

 1.  在ktdm的src下新建com.vgxit.jdbc包,在此包下新建SimpleSelectTest.java文件,用于连接数据库并进行简单查询

 

2.  代码

package com.vgxit.jdbc;
import java.sql.*;
/**
 * 连接上mysql数据库,并进行数据的简单操作
 */
public class SimpleSelectTest {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1.加载驱动
        Class.forName("com.mysql.jdbc.Driver");
        //2.编写数据库的连接地址,标准写法:
        String connUrl = "jdbc:mysql://127.0.0.1:3306/vgxit_test?serverTimezone=Asia/Shanghai";
        //3.获取数据库连接的用户名和密码
        String username = "root";
        String password = "123456";
        //4.连接到数据库,这个conn就是java和mysql的服务连接
        Connection conn = DriverManager.getConnection(connUrl,username,password);
        //5.通过连接,获取一个可以执行sql语句的对象
        Statement stmt = conn.createStatement();
        //6.编写查询语句
        String sql = "select * from user";
        //7.执行查询语句,获得对应的结果
        ResultSet rs = stmt.executeQuery(sql);
        //8.遍历查询结果,查看数据,rs可以看做游标
        while(rs.next()){//有下一个的情况下
            System.out.println(rs.getInt(1) + ":" + rs.getString(2) + "," + rs.getString(3));
        }
        //9.关闭资源,后创建的,先关闭
        rs.close();
        stmt.close();
        conn.close();
    }
}

六、操作结果

可以看到有一行红字,说的是com.mysql.jdbc.Driver这个驱动过时了,强烈不建议用,改成该提示推荐的com.mysql.cj.jdbc.Driver就好了

最终结果

七、升级版

对于上面代码的关闭部分,由于用到的Connection、Statement和ResultSet对象都继承了AutoCloseable,它们都可以用try自动关闭,所以上面的代码可简写为下:

package com.vgxit.jdbc;
import java.sql.*;
public class SimpleSelectTestPro {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1.加载驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //2.编写数据库连接地址
        String connUrl = "jdbc:mysql://127.0.0.1:3306/vgxit_test?serverTimezone=Asia/Shanghai";
        //3.获取数据库连接的用户名和密码
        String username = "root";
        String password = "123456";
        //4.编写查询语句
        String sql = "select * from user";
        try(//使用try自动关闭
                //5.创建数据库连接
                Connection conn = DriverManager.getConnection(connUrl,username,password);
                //6.创建可执行sql语句的对象
                Statement stmt = conn.createStatement();
                //7.创建查询结果集
                ResultSet rs = stmt.executeQuery(sql);
                ){
            //8.遍历结果集,查看数据
            while (rs.next()){
                System.out.println(rs.getInt(1) + ":" + rs.getString(2) + ":" + rs.getString(3));
            }
        }
    }
}

就是把需要关闭的对象加到了try的()里,{}里正常执行语句

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值