关于intellij idea和mysql的

我将teacher给的代码运行之后查询student表异常

package sql;

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

public class StudentInfo {
    static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";// "com.microsoft.sqlserver.jdbc.SQLServerDriver"
    static final String DB_URL = "jdbc:mysql://localhost:3306/mysql?useSSL=false";
    static final String USER = "root";
    static final String PASS = "fjchg556";//Lab: "000000"

    public static void main(String[] args) {
        try {
            // 加载驱动
            Class.forName(JDBC_DRIVER);
            // 建立和数据库的连接
            Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);
            // 创建Statement对象
            Statement stmt = conn.createStatement();
            // 定义SQL语句
            String sql = "select * from student";

            // (1)访问数据表student并输出所有学生信息
            System.out.println("(1)访问表student并输出所有学生信息");
            ResultSet rs = stmt.executeQuery(sql);// executeQuery()返回值为结果集对象,用于查询获取结果集
            // 处理结果集
            System.out.println("id\tname\tclass_id\tsubject\tsex\tage\taddr");
            while (rs.next()) {
                System.out.println(rs.getString(1) + "\t"
                        + rs.getString(2) + "\t" + rs.getString(3) + "\t" + rs.getString(4) + "\t" + rs.getString(5) + "\t" + rs.getString(6) + "\t" + rs.getString(7));
            }

            // (2)向数据表student中插入一条新的学生信息
            System.out.println("(2)向数据表student中插入一条新的学生信息");
            sql = "insert into student(id,name,class_id,subject,sex,age,addr) values(?,?,?,?,?,?,?)";//"INSERT into student VALUES('ffff','4','123')"
            // 预编译SQL语句
            PreparedStatement ps = conn.prepareStatement(sql);
            // 为参数赋值
            ps.setString(1, "2107");
            ps.setString(2, "Zhang");
            ps.setString(3, "02");
            ps.setString(4, "English");
            ps.setString(5, "W");
            ps.setString(6, "27");
            ps.setString(7, "Shanghai");
            // 执行插入
            int i = ps.executeUpdate();// executeUpdate()返回值为int类型,返回的是修改更新(INSERT、UPDATE或 DELETE)的数据数量
            // 根据插入情况给出提示信息
            if (i == 1) {
                System.out.println("插入成功!");
            } else {
                System.out.println("未插入成功!");
            }

            // 关闭连接
            rs.close();
            stmt.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

```java


运行结果如下

img


尝试过在idea的数据库界面进行相同查询,却能正确显示结果
右边数据库栏也能找到student表

img


请问这种情况该如何解决呢,感谢

你的数据库名是 sys,你现在连接上写的是myql。url换成这个 jdbc:mysql://localhost:3306/sys?useSSL=false

img

数据库名不对啊

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7465651
  • 除此之外, 这篇博客: 基于IntelliJ IDEA将MySQL库表生成自定义实体中的 前言 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 作为一名服务端开发人员,跟数据库打交道是无法避免的,所以也是需要把数据库中的表生成实体,也就是逆向工程,本文章主要是基于MySQL数据库和Mybatis框架。
    现在Mybatis官网也提供了一套自动生成的框架,对于一般的开发来说已经够用,但是我们有时候需要添加一些自定义的属性或者其他功能,就显得十分鸡肋,IntelliJ IDEA真的强大,它已经为我们提供了一套非常强大的逆向工程工具,让我们可以随心所欲去生成自己需要的实体。