博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java使用mysql-connector-java-8.0.13连接数据库的一些问题
阅读量:3899 次
发布时间:2019-05-23

本文共 2846 字,大约阅读时间需要 9 分钟。

首先注明一点:这里我用的 mysql-connector-java 包是 8.0.13 版本的。

1、下载mysql-connector-java包

jdk目前是没有内置这个包的,所以需要先下载,附上一个下载地址:

2、将下载好的包添加进项目

这里我用的是eclipse,其他编译器导入方法自行谷百。

在这里插入图片描述

然后点击:Add External JARS

在这里插入图片描述

添加完之后如下图:

在这里插入图片描述

然后项目文件夹下就会多出:

在这里插入图片描述

3、具体代码中的问题

package test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class StudentTest {
public static void main(String[] args) {
String driveName = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://127.0.0.1:3306/student"; String user = "root"; String pass = "123456"; try {
Class.forName(driveName); // 连接方法一 Connection con = DriverManager.getConnection(url, user, pass); // 连接方法二 //String URL = "jdbc:mysql://127.0.0.1:3306/student?user=root&password=123456&serverTimezone=GMT%2B8"; //Connection con = DriverManager.getConnection(URL); Statement state = con.createStatement(); String querySql = "select * from student1"; ResultSet result = state.executeQuery(querySql); while(result.next()) {
System.out.println("学号:" + result.getInt("Id")); System.out.println("姓名:" + result.getString("name")); System.out.println("年龄:" + result.getInt("age")); System.out.println(); } con.close(); } catch (ClassNotFoundException e) {
e.printStackTrace(); } catch (SQLException e) {
e.printStackTrace(); } }}

首先这种写法会报错🌋 :

在这里插入图片描述

意思就是:com.mysql.jdbc.Driver 这种写法已经弃用了,最新的写法是:com.mysql.cj.jdbc.Driver

然后这个报错就解决了。再运行,又会报错🚨 :

在这里插入图片描述

这个mysql官网也提到了,是因为 mysql 返回的时区有问题,所以这里需要显示指定时区:在url上加参数serverTimezone=GMT(如果想返回北京时间,则:serverTimezone=GMT%2B8

最后更完整代码如下🔎 (更改的地方我用 * 做了标记) :

package test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class StudentTest {
public static void main(String[] args) {
* String driveName = "com.mysql.cj.jdbc.Driver";* String url = "jdbc:mysql://127.0.0.1:3306/student?serverTimezone=GMT%2B8"; String user = "root"; String pass = "123456"; try {
Class.forName(driveName); // 连接方法一 Connection con = DriverManager.getConnection(url, user, pass); // 连接方法二 //String URL = "jdbc:mysql://127.0.0.1:3306/student?user=root&password=123456&serverTimezone=GMT%2B8"; //Connection con = DriverManager.getConnection(URL); Statement state = con.createStatement(); String querySql = "select * from student1"; ResultSet result = state.executeQuery(querySql); while(result.next()) {
System.out.println("学号:" + result.getInt("Id")); System.out.println("姓名:" + result.getString("name")); System.out.println("年龄:" + result.getInt("age")); System.out.println(); } con.close(); } catch (ClassNotFoundException e) {
e.printStackTrace(); } catch (SQLException e) {
e.printStackTrace(); } }}

运行代码🙈 :

在这里插入图片描述

成功!🚀

转载地址:http://btden.baihongyu.com/

你可能感兴趣的文章
静态编译和动态编译的区别
查看>>
MySql中ISNULL,IFNULL和NULLIF的用法
查看>>
Select2插件dropDown的配置
查看>>
MySql计算时间差函数
查看>>
freeMarker格式化时间
查看>>
select2动态搜索--问题解决
查看>>
select2下拉框去除已经选中的值
查看>>
jquery中confirm插件使用
查看>>
freeMarker--数字类型字符串自动加逗号分隔问题解决
查看>>
a标签中onclick事件的用法
查看>>
select2使用模态框,搜索框无法输入问题解决
查看>>
freeMarker数字格式化和数字百分比显示
查看>>
jquery动态清除onclick事件和添加onclick事件
查看>>
select2添加placeholder
查看>>
select2删除选中项,allowClear设置
查看>>
autocomplete设置只可以选择下拉选,mustMatch属性使用
查看>>
spring boot设置tomcat端口号和根目录
查看>>
mybatis批量插入报下标越界异常:java.sql.SQLException: java.lang.StringIndexOutOfBoundsException
查看>>
mybatis批量更新语法错误问题解决
查看>>
spirngboot 如何加在logback.xml配置
查看>>