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";
再次运行,即可解决
参考文章
- https://www.cainiaojc.com/jdbc/jdbc-sample-code.html
- https://blog.csdn.net/shaock2018/article/details/116571542
- https://blog.csdn.net/starry1441/article/details/115026300