在用idea与mysql数据库建立连接的时候,经常会出现好多情况,这里我总结一下:
需要的工具:
IDEA下载地址:https://www.jetbrains.com/idea/features/editions_comparison_matrix.htm
mysql下载地址:https://dev.mysql.com/downloads/installer/
navicat可以从百度下载一个破解版的,选择自己中意的即可
下载后安装即可,如果有疑问,可以百度相关的教程,安装很简单,就不多说。idea与mysql的版本最好不要选择最新的,可能会出现各种情况,老版本相对稳定
工具准备完毕,接下来就开始建立连接:
1.在navicat上建立连接并新建一个数据库
连接名自己选择一个即可,新建一个数据库,这里我建立一个jdbc数据库,在里面新建一张表ls
在IDEA中进行操作
新建一个工程:jdbc 然后进行配置,在View-Tool Windows-Database中进行设置
在Database中选择mysql:填写数据库名称,以及mysql的用户密码
填写完可以先Test Connection,没有问题的话会出现蓝色的successful,如果第一次进行连接会出现黄色感叹号提示下载,直接下载即可,然后点OK即可完成连接配置
接下来在File下拉菜单中,找到Project Structure,在Dependencies中找到左边绿色的+号选择1添加连接数据库的jar包,找到jar包所在的位置,将jar包添加上去即可
可以在工程下面的External Libraries中查看jar报是否添加进来可以看到mysql-connector-java-5.1.46.jar包已经添加进来
接下来编写代码,对数据库进行操作,来测试数据库的连接
import java.sql.*;
public class Test {
public static void main(String[] args)
{
//声明Connection对象
Connection con;
//驱动程序名
String driver = "com.mysql.jdbc.Driver";
//URL指向要访问的数据库名
String url = "jdbc:mysql://localhost:3306/jdbc";
//MySQL配置时的用户名
String user = "root";
//MySQL配置时的密码
String password = "root";
//遍历查询结果集
try
{
//加载驱动程序
Class.forName(driver);
//1.getConnection()方法,连接MySQL数据库!!
con = DriverManager.getConnection(url,user,password);
if(!con.isClosed())
System.out.println("Succeeded connecting to the Database!");
//2.创建statement类对象,用来执行SQL语句!!
Statement statement = con.createStatement();
//要执行的SQL语句
String sql = "select * from ls"; //从建立的login数据库的login——message表单读取数据
//3.ResultSet类,用来存放获取的结果集!!
ResultSet rs = statement.executeQuery(sql);
System.out.println("-----------------");
System.out.println("执行结果如下所示:");
System.out.println("-----------------");
String name = null;
while(rs.next())
{
//获取stuname这列数据
name = rs.getString("name");
System.out.println(name);
}
rs.close();
con.close();
}
catch(ClassNotFoundException e)
{
//数据库驱动类异常处理
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
}
catch(SQLException e)
{
//数据库连接失败异常处理
e.printStackTrace();
}
catch (Exception e)
{
// TODO: handle exception
e.printStackTrace();
}
finally
{
System.out.println("数据库数据成功获取!!");
}
}
}
运行代码:
会出现错误,查找原因我们将
String driver = "com.mysql.jdbc.Driver";
修改为:
String driver = "com.mysql.cj.jdbc.Driver";
并且将:
String url = "jdbc:mysql://localhost:3306/jdbc";
修改为:
String url = "jdbc:mysql://localhost:3306/jdbc?serverTimezone=UTC";
再次运行:
可以读到数据库的数据