IDEA连接本地Mysql数据库避坑指南

关于本地安装mysql请参考我的上一篇博客:

https://www.cnblogs.com/cckong/p/13977440.html

下面我来一步一步教大家你的java程序如何通过JDBC链接上数据库!

1.确保你的mysql已经添加进环境变量

参考这篇 https://jingyan.baidu.com/article/3052f5a1e23d6997f31f860c.html

此步骤的功能是让任何人都可以访问mysql

不需要以管理员身份才能访问

 

 

 2.下载Mysql的jar包并放进IDEA

参考  https://www.runoob.com/java/java-mysql-connect.html

这篇博客前半段有下载地址 (注意下载与你mysql对应版本jar包)

下载成功后我们导入idea

如下打开

 

 

 

 

 

 

点击SDKs

 

 

 

 点击+号添加对应jar包

添加成功后 最后应在

 

 

 

 3.接着我们向数据库中写点东西 来证明链接是否成功

(具体mysql语句 参考https://www.runoob.com/mysql/mysql-create-database.html)

 

 4.我们来验证一下

其中的   conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&useSSL=FALSE" ,"root","");

需要注意的是要改成你的   conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:端口号/数据库名称?test?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&useSSL=FALSE" ,"你的登录名(一般是root)","你的密码")

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class test {
    public static void main(String[] args) {
        ResultSet rs = null;
        Statement stmt = null;
        Connection conn = null;

        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&useSSL=FALSE" ,"root","");
            stmt = conn.createStatement();
            rs = stmt.executeQuery("select * from tablename1");

            while (rs.next()) {
// 根据字段名获取相应的值
//                String name = rs.getString("name");
//                String sex = rs.getString("sex");
                int age = rs.getInt("age");

// 输出查到的记录的各个字段的值
                System.out.println( " " + age);
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if (rs != null) {
                    rs.close();
                    rs = null;
                }
                if (stmt != null) {
                    stmt.close();
                    stmt = null;
                }
                if (conn != null) {
                    conn.close();
                    conn = null;
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

 

5.输出 成功!

 

 

 

踩坑过程:

(1)timezone问题

在url中加入一个语句           "jdbc:mysql://localhost:3306/test?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&useSSL=FALSE"。

(2)Access denied for user ''@'localhost' (using password: NO)问题

有可能是我当初没有设置环境变量问题

也有可能 我那个代码复制过来的getconnection的参数问题

 





posted @ 2020-11-17 15:08  枫叶像思念  阅读(1785)  评论(0编辑  收藏  举报