zoukankan      html  css  js  c++  java
  • 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的参数问题





  • 相关阅读:
    很漂亮的按钮css样式(没有用到图片,可直接拷贝代码使用)
    if、while中变量的作用域问题
    笔记
    搭建高可用mongodb集群(一)——配置mongodb
    Java编程:删除 List 元素的三种正确方法
    MySQL 数据类型
    MySQL 通用查询日志(General Query Log)
    mysql 创建一个用户,指定一个数据库
    MySQL 5.7 免安装版配置
    String,StringBuffer与StringBuilder的区别??
  • 原文地址:https://www.cnblogs.com/cckong/p/13994278.html
Copyright © 2011-2022 走看看