Java 使用JDBC连接MySQL
// 这学期本来不打算深入学习Java的,课上的小项目也就随便写了一个简单计算器和扫雷游戏就糊弄过去。可是我们的Eliza老师偏偏什么都讲了,考虑到期末也会涉及到JDBC的内容,前些天试着学习一番。
// 由于数据库的连接并不顺利,于是记录下这些踩过的坑。。。
我参考了菜鸟教程上关于MySQL学习指导,如果使用的是Eclipse,那么需要先导入驱动包。
下载JDBC驱动包
一定注意本地安装的MySQL版本!!!(菜鸟教程提供的5.1.39版本不适用于最新的MySQL8.0)
在MySQL官网可以找到最新的驱动包,选择压缩包下载,也可以直接点击mysql-connector-java-8.0.16.zip下载。
导入jar包
在Eclipse中导入jar包似乎有三种方式,可以参考https://www.cnblogs.com/ruiati/p/3591203.html这篇博客。
在项目列表上右键点击,选择Properties,在弹出的对话框里找到Libraries,选择Add External JARs,加入下载并解压过的jar驱动包。
点击Apply and Close确定导入。
测试JDBC连接
根据本机数据库配置,在测试的类里有这些基本数据:
// JDBC 驱动名及数据库URL static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost:3306/university"; // 数据库的用户名与密码,需要根据自己的设置 static final String USER = "root"; static final String PASS = "xxxx";
Java连接MySQL分为五个步骤:
-
// 注册JDBC驱动
Class.forName(JDBC_DRIVER); -
// 打开链接
Connection conn = DriverManager.getConnection(DB_URL, USER, PASS); -
// 执行查询
Statement stmt = conn.createStatement();
String sql = "SELECT sno, sname FROM student";
ResultSet rs = stmt.executeQuery(sql); -
// 展开结果集数据库
while(rs.next()){
// 通过字段检索
String no = rs.getString("sno");
String name = rs.getString("sname");
// 输出数据
System.out.println("no: " + no + ", name: " + name); -
// 完成后关闭
rs.close();
stmt.close();
conn.close();
程序正常运行可以获取到数据库的内容,但是很不幸我的程序抛出如下异常:
大概是时区设置问题,一顿百度之后,解决方案如下:
于是得到了正确的查询结果。
(完)