Java如何连接MySQL8.0数据库_IDEA篇JDBC连接MySQL8.0
⼀、准备⼯作
主要是jar包和数据库的创建
1、Java连接 MySQ8.0的jar包下载
进去后是当前最新版本的,此处⼀定要选你机⼦上相匹配的连接包,⽐如我的是8.0.24
mysql下载jar包进去后,下拉选择需要的版本和以及下拉选择Platform Independent
然后tar和zip选择下载都可以,我选择的是zip
下载完成解压后,⾥⾯的⼀个jar包就是我们等会需要⽤到的
⽅法2:在你安装MySQL.Installer上添加下载,如下:
2、测试数据库的创建
会创建数据库就⾏,⽤什么⼯具创建不重要。⽐如我是⽤的Navicat创建,如下:
创建了名为Test01 的数据库
创建了有三个属性的student表
然后添加了四条记录
⾄此准备⼯作已经完成,接下来开始⽤IDEA连接MySQL8.0数据库
⼆、IDEA连接数据库
~项⽬创建以及导包
1、打开idea,创建项⽬
2、继续点下⼀步,直到创建名字(我创建的是JDBCTest01),然后点击finish
然后在src⿏标右击创建包(这⼀步不是必须的):
我创建了名为JDBC_Pack的包
然后是创建个Java类
(在刚创建的JDBC_Pack包中⿏标右击创建Java类,我取名为JDBC_Test)
~接下来就是导包,重点
选择项⽬结构(Project Structure)
选择模块(Modules)
选择依赖(Dependencies)
点击加号+,选择JARs
到之前准备好的jar包,然后点击OK
记得打勾勾
完成之后左边就会有个包,说明成功了
~然后就进⼊到我们写代码的部分了
1. 第⼀步:注册驱动
//1、注册驱动_第⼀种⽅法
Driver driver =new Driver();
//注意:如果是MySQL8.0以下,驱动地址为:sql.jdbc.Driver()
//1、注册驱动_第⼆种⽅法
Class.forName("sql.cj.jdbc.Driver");
//MySQL8.0以下为:sql.jdbc.Driver()
2.第⼆步:获取连接
//2、获取连接
String url ="jdbc:mysql://127.0.0.1:3306/test01";
String user ="root";//MySQL⽤户名
String password ="2233";//MySQL登录密码,⾃⼰设置
connection = Connection(url,user,password);/*url是统⼀资源定位符,如某个⽹址绝对路径,包括协议、IP地址、端⼝名、资源名*/ //前⾯四⾏也可以直接⽤⼀⾏代替:connection = Connection("jdbc:mysql://localhost:3306/test01","root","2233");
注:
jdbc:mysql是通信协议,好⽐http;
localhost是本机IP地址即127.0.0.1,如果要连接其他计算机,则可将此改为要连接的计算机的IP地址;
3306是端⼝名,如果有更改,则填更改后的;
test01是要连接的数据库名字,⾃⼰定义的;
//有些时候可能会报错,那是MySQL8.0的时区问题,url改成如下就⾏:
url = “jdbc:mysql://127.0.0.1:3306/test01?useSSL=false&serverTimezone=UTC”;
3、获取数据库操作对象
/
/3、获取数据库操作对象
statement = ateStatement();
4、执⾏SQL语句
插⼊语句
String sql1 ="insert into student values(1005,'⼩⾼','男')";//执⾏SQL插⼊语句
删除语句
更新语句
6、释放资源
如果没有执⾏SQL的select语句,就可以进⾏最后⼀步释放资源。
try{//先释放statement
if(statement !=null){
statement.close();
}
}catch(SQLException e){
e.printStackTrace();
}
try{//最后释放connection
if(connection !=null){
connection.close();
}
}catch(SQLException e){
e.printStackTrace();
}
5、处理查询结果集
这⼀步是⽤对select语句查询的结果集⽤的,即⽤来处理DQL执⾏的结果
String sql ="select * from student where 性别 = '男'";//注意属性这要⽤单引号
resultSet = uteQuery(sql);//resultSet即是我们select查询的⼀个结果集,接下来需要将其输出
遍历结果集
()){//next(),在移动到有数据时返回结果为boolean型true,没有数据则为false;
String 学号= String("学号");//参数可以是属性名
String 姓名= String(2);//也可以是第⼏列,从1开始
String 性别= String("性别");
System.out.println(学号+" "+姓名+"  "+性别);
}
查询结果
6、然后释放资源
try{//先释放resultSet
if(resultSet !=null){
resultSet.close();
}
}catch(SQLException e){
e.printStackTrace();
}
~⾄此全部完毕,完整代码如下
同⼀增删改语句不能多次执⾏,所以我⽤了⼀次就注释了,注意看清
package JDBC_Pack;
import*;//相关包全部导⼊
public class JDBC_Test {
public static void main(String[] args){
Connection connection =null;//获取数据库连接
Statement statement =null;//⽤来执⾏SQL语句
ResultSet resultSet =null;//处理查询结果集即执⾏select语句⽤的
//这三个需要放到try外⾯,因为后⾯需要释放他们即释放资源
try{
//1、注册驱动_第⼀种⽅法
//Driver driver = sql.cj.jdbc.Driver();
//isterDriver(driver);
//1、注册驱动_第⼆种⽅法
Class.forName("sql.cj.jdbc.Driver");
/
/MySQL8.0以下版本的是sql.jdbc.Driver
//2、获取连接
String url ="jdbc:mysql://127.0.0.1:3306/test01";/*jdbc:mysql是通信协议,好⽐http;
localhost是本机IP地址即127.0.0.1,如果要连接其他计算机,则可将此改为要连接的计算机的IP地址;
3306是端⼝名,如果有更改,则填更改后的;test01是要连接的数据库名字,⾃⼰定义的;*/
//有可能会报错,那是MySQL8.0的时区问题,url改成如下就⾏:url = "jdbc:mysql://127.0.0.1:3306/test01?useSSL=false&serverTimezone=UTC";            String user ="root";//MySQL⽤户名
String password ="2233";//MySQL登录密码,⾃⼰设置
connection = Connection(url,user,password);/*url是统⼀资源定位符,如某个⽹址绝对路径,包括协议、IP地址、端⼝名、资源名*/ //前⾯四⾏也可以直接⽤⼀⾏代替:connection = Connection("jdbc:mysql://localhost:3306/test01","root","2233");
//3、获取数据库操作对象
statement = ateStatement();
//4、执⾏SQL语句
//String sql1 = "insert into student values(1005,'⼩⾼','男')";//执⾏SQL插⼊语句
//uteUpdate(sql1);//两⾏可以写在⼀起
//uteUpdate("delete from student where 学号 = 1002");//执⾏SQL删除语句
//uteUpdate("update student set 学号 = 1007, 姓名 = '更新' where 学号 = 1003");//执⾏SQL更新语句
//5、处理查询结果集,⽤来处理DQL执⾏的结果
String sql ="select * from student where 性别 = '男'";//注意属性这要⽤单引号
resultSet = uteQuery(sql);//resultSet即是我们select查询的⼀个结果集,接下来需要将其输出
()){//next(),在移动到有数据时返回结果为boolean型true,没有数据则为false;
String 学号= String("学号");//参数可以是属性名
String 姓名= String(2);//也可以是第⼏列,从1开始
String 性别= String("性别");
System.out.println(学号+" "+姓名+"  "+性别);
}
}catch(SQLException | ClassNotFoundException e){
e.printStackTrace();
}finally{
//6、释放资源:遵循从⼩到⼤依次关闭
try{//先释放resultSet
if(resultSet !=null){
resultSet.close();
}
}catch(SQLException e){
e.printStackTrace();
}
try{//再释放statement
if(statement !=null){
statement.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
try{//最后释放connection
if(connection !=null){
connection.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
}
}
最后说明:
我也是新⼿,我折腾了好久才可以⾃⼰⽤Java随意连接数据库以及连接别⼈电脑上的MySQL数据库,中间遇到了N次报错,不过也慢慢的才了解了点原理。当然肯定还有很多⽐较不⾜之处,还望⼤家多多指正。
也祝愿⼤家都能成功实现⾃⼰想要的功能

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。