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

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

郑州轻工业大学 mooc第九单元测试题解析_第1张图片


源码

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即可

你可能感兴趣的:(单元测试,java,开发语言)