郑州轻工业大学 mooc第九单元测试题解析

题目1.补充代码,完成loadData()方法的定义,实现功能。


源码

import javax.imageio.stream.ImageInputStream;
import javax.swing.*;
import javax.swing.table.DefaultTableCellRenderer;
import java.awt.*;
import java.sql.*;

public class Main extends JFrame {
    Object data[][];
    Object colname[] = {"学号", "姓名", "年龄", "专业"};
    JTable studentTable;
    Connection conn;

    public Main() {
        initView();
    }

    public void initView() {
        Container c = getContentPane();
        c.setLayout(new BorderLayout());
        data = new Object[10][4];
        this.loadData();
        studentTable = new JTable(data, colname);
        c.add(new JScrollPane(studentTable), BorderLayout.CENTER);

    }

    private void loadData() {
        String user = "root";
        String psw = "helloworld";
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            System.out.println("数据库驱动加载成功");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student", user, psw);
            System.out.println("数据库连接成功");
            String sql = "select * from info";

            ResultSet rs;
            Statement stmt = conn.createStatement();
            rs = stmt.executeQuery(sql);
            int i=0;
            while(rs.next()){
                data[i][0]=rs.getString("sno");
                data[i][1]=rs.getString("snmae");
                data[i][2]=rs.getString("sdept");
                data[i][3]=rs.getInt("age");
//              System.out.println(rs.getString(1)+rs.getString(2)+rs.getString(3)+rs.getInt(4));
               i++;
            }
            rs.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    public static void main(String[] args) {
        Main app=new Main();
        app.setSize(550,250);
        app.setVisible(true);
        app.setDefaultCloseOperation(3);
    }
}

思路说明:向loadData()方法里连接数据库以及执行sql语句和遍历

1.连接数据库需要用Class.forName(“驱动名”)反射数据库的驱动

然后调用jar包里的方法DriverManager.getConnection(url, user, password);

此时数据库就已经连接成功(如果数据库存在,且正确导入jar包,密码正确)

2.定义一个sql语句String型的,用于存放查找表面信息的sql语句

ResultSet rs;
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);

使用以上三个固定方法执行sql

3.遍历,将数据写入到GUI中

4.关闭rs,conn即可

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

豆粉今天敲了吗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值