IDEA MySql数据库连接详解加常见问题解答
第一次使用JDBC,被数据库链接这东西搞得很懵,老是抛异常,搞不懂那个url是什么,怎么写,不过尝试了很多方法后,终于搞好了,所以将方法分享给大家。
1.下载驱动
1.去官网下载,链接奉上:https://dev.mysql.com/downloads/
2.废话不多说,看图:
先等等,上面选择系统,要选择那个“独立平台”的选项,因为那样就可以直接下载他的压缩包而不用去安装!!!
下载来就是一个压缩包,然后解压。。。嗯。。
然后你会看到一个以 .jar 为后缀的jar包,这就是你需要的jar包。
2.搞MySQL
1.下载安装MySQL
pr pr pr。。。。。
2.配置好MySQL和他的全局变量
3.创建一个数据库:
CREATE DATABASE test;
4.使用test库,建个简单的表一个用于测试,并插入些数据:
USE test;
CREATE TABLE test1
(
id INT(10),
name VARCHAR(20),
score INT(10)
);
INSERT INTO test1 VALUES
(
(1,'斋藤飞鸟',100),
(2,'白石麻衣',100),
(3,'西野七濑',100)
);
可以使用以下语句在数据库里查询一下自己的表:
SELECT * FROM test1;
3.使用IDEA链接MySQL
1.打开IDEA,点开右侧的Database
如果找不到,还可以在IDEA上面的选项卡中选择View(视图)中这样选择Database
选择这个小加号
选择MySQL
注意:当你配置好点测试后,你会发现下面出现有关 time_zone 的错误!
原因:数据库使用的UTC时间,与咱这东八区不一样
解决:打开数据库
输入:
set glabal time_zone='+8:00';
问题就会解决!!!
如果出现有关 sever time_zone 等字段的错误
解决:
在 Advanced 里找到sever time_zone,然后将他的值 UTC 改为 Asia/Shanghai
再注意:初次连接数据库,下面会提示让你下载驱动,点击下载就可以
整好咱们就可以去敲代码了。。。
介绍一下:
4.把下好的驱动导入到IDEA的项目中
1.在自己的项目中创建一个包(推荐名字:libs)
2.将驱动复制到这个包下
3.右击,选择Add as Library(重要步骤,不要拉下)
5.敲代码测试:
建一个测试类测试一个,打印刚才建的的表的数据
import java.sql.*;
public class DataBasetest {
static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
static final String URL = "jdbc:mysql://localhost:3306/test";
// 这里是定义数据库的用户名与密码
static final String USER = "root";
static final String PASS = "123456";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
// 注册 JDBC 驱动
Class.forName(JDBC_DRIVER);
// 打开链接
System.out.println("连接数据库。。。");
conn = DriverManager.getConnection(URL,USER,PASS);
// 执行查询
System.out.println(" 实例化Statement对象...");
stmt = conn.createStatement();
String sql;
sql = "SELECT id, name, score FROM test1";
ResultSet rs = stmt.executeQuery(sql);
// 展开结果集数据库
while(rs.next()){
// 通过字段检索
int id = rs.getInt("id");
String name = rs.getString("name");
String score = rs.getString("score");
// 输出数据
System.out.print("ID: " + id);
System.out.print(", 姓名: " + name);
System.out.print(", 成绩: " + score);
System.out.print("\n");
}
// 完成后关闭
rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
// 处理 JDBC 错误
se.printStackTrace();
}catch(Exception e){
// 处理 Class.forName 错误
e.printStackTrace();
}finally{
// 关闭资源
try{
if(stmt!=null) stmt.close();
}catch(SQLException se2){
}
try{
if(conn!=null) conn.close();
}catch(SQLException se){
se.printStackTrace();
}
}
System.out.println("退出程序!!!");
}
}
注意:
一:
1.mysql版本8.0及以上版本加载的驱动为:
static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
2.mysql版本8.0以下版本加载的驱动为:
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
二:
1.你是否纠结这个url是个啥
static final String URL = "jdbc:mysql://localhost:3306/test";
就是这个声明url。
还记得上面配置页面的那个让你记住的url不,就是那个东东。
复制来就好
好了,那我们启动程序:
完美输出!!!
抛出异常解答:
1.如果出现.ClassNotFoundException的异常
这是类找不到的异常,看看自己那个JDBC驱动是否注册成功
就是自己选择的数据库版本,8.0以上与一下版本的驱动注册是不一样的,上面有讲解
OK了,就写到这里,如果还有会补充的。
阿羞羞~ 阿羞羞~ 阿~ 羞~ 羞~
祝大家 天天开心 不掉头发
结尾~~~~