JDBC学习

JDBC学习

六个步骤

直接看菜鸟教程吧

导入包:要求您包含包含数据库编程所需的JDBC类的软件包。通常使用 import java.sql.* 导入就可以了。import包

注册 JDBC 驱动程序: 要求您初始化驱动程序,以便您可以打开与数据库的通信通道。Class.forName("com.mysql.jdbc.Driver");

建立连接:需要使用 DriverManager.getConnection() 方法来创建一个Connection对象,该对象表示与数据库的物理连接。conn = DriverManager.getConnection(DB_URL,USER,PASS);

执行查询:需要使用 Statement 类型的对象来生成 SQL 语句并将其提交给数据库。createStatement和executeQuery

从结果集中提取数据:要求您使用适当 ResultSet.getXXX() 的方法从结果集中检索数据。比如while循环读取数据

清理环境: 需要显式关闭所有数据库资源,而不是依赖JVM的垃圾回收。close()

代码测试

这里先用的菜鸟教程上的代码,然后使用的是本机的dvwa数据库,所以在数据处理那里有所修改

            //步骤5:从结果集中提取数据
            while(rs.next()){
                //按列名检索
                int id  = rs.getInt("user_id");
                String name = rs.getString("first_name");

                //显示值
                System.out.print("ID: " + id);
                System.out.print(", name: " + name);
            }

运行测试

几个问题

1. java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

我第一次运行的时候,会报这个错误,其实也很好理解,idea在依赖中找不到这个驱动,因为依赖中也没有这个驱动,我们需要去下载相应的版本,然后去加载这个jar包

在这里插入图片描述

下载相应的jar包,下载链接

我使用的mysql5.7.26,所以我就选择的mysql5中最新的版本
在这里插入图片描述

下载之后,压缩包中有一个jar包

在这里插入图片描述

在idea的项目中添加一个文件夹lib,将这个jar包放进去
在这里插入图片描述

然后右键lib,add to libaray,这个时候我们再来看project structure,lib包已经添加进去了

在这里插入图片描述

然后运行,这个问题解决了

2. ssl警告

翻译一下

521 / 5,000
翻译结果
Sat Apr 09 09:43:36 GMT+08:00 2022 警告:不建议在没有服务器身份验证的情况下建立 SSL 连接。 根据 MySQL 5.5.45+、5.6.26+ 和 5.7.6+ 的要求,如果未设置显式选项,则默认情况下必须建立 SSL 连接。 为了符合不使用 SSL 的现有应用程序,verifyServerCertificate 属性设置为“false”。 您需要通过设置 useSSL=false 来显式禁用 SSL,或者设置 useSSL=true 并为服务器证书验证提供信任库。

在这里插入图片描述

jdbc:mysql://127.0.0.1:3306/dvwa其中dvwa是我们的数据库的名字
我们发现程序是可以运行的,只不过是报了警告
如果要消除这个警告,需要添加一点东西

static final String DB_URL = "jdbc:mysql://127.0.0.1:3306/dvwa?characterEncoding=UTF8&autoReconnect=true&useSSL=true";

再次运行,即可解决
在这里插入图片描述

参考文章

  1. https://www.cainiaojc.com/jdbc/jdbc-sample-code.html
  2. https://blog.csdn.net/shaock2018/article/details/116571542
  3. https://blog.csdn.net/starry1441/article/details/115026300
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值