yurinkamisato 2023-05-20 14:23 采纳率: 80%
浏览 29
已结题

关于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


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

  • 写回答

3条回答 默认 最新

  • pzzhao 2023-05-20 15:21
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月28日
  • 已采纳回答 5月20日
  • 修改了问题 5月20日
  • 创建了问题 5月20日