|  | 
 
| 
package 课程设计;
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 import java.awt.*;
 import java.sql.*;
 import java.util.Vector;
 import java.awt.event.*;
 import javax.swing.*;
 import javax.swing.table.DefaultTableCellRenderer;
 
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 
 public class Stuck {
 Vector<Object> columnNames;
 
 private Vector<Vector<Object>> rowData = new Vector<Vector<Object>>();
 static JTable table1=null;
 //定义数据库需要的全局变量
 PreparedStatement ps=null;
 Connection ct=null;
 ResultSet rs=null;//将对数据库查询的结果保存进resultset的对象rs中
 
 public Stuck(){
 columnNames=new Vector<Object>();
 //设置列名
 columnNames.add("姓名");
 columnNames.add("性别");
 columnNames.add("学号");
 columnNames.add("宿舍号");
 columnNames.add("床位");
 columnNames.add("学院");
 columnNames.add("身份");
 columnNames.add("状态");
 //rowData可以存放多行,开始从数据库里取
 
 try {
 String userMySql="root";
 String passwordMySql="123456";
 //加载驱动
 Class.forName("com.mysql.cj.jdbc.Driver");
 //得到连接,并获取连接对象ct
 ct= DriverManager.getConnection("jdbc:mysql://localhost:3306/stu-sushe",userMySql,passwordMySql);
 
 ps=ct.prepareStatement("select * from student");//向mysql发送动态的sql语句
 
 rs=ps.executeQuery();//使用select语句时用executeQuery执行,executeupdate用于执行insert,update,delete,execute用于返回多个结果集的语句。
 
 while(rs.next()){
 //rowData可以存放多行
 Vector<Object> hang=new Vector<Object>();
 hang.add(rs.getString(1));
 hang.add(rs.getString(2));
 hang.add(rs.getString(3));
 hang.add(rs.getString(4));
 hang.add(rs.getString(5));
 hang.add(rs.getString(6));
 hang.add(rs.getString(7));
 hang.add(rs.getInt(8));
 //加入到rowData
 rowData.add(hang);
 }
 } catch (Exception e) {
 e.printStackTrace();
 //System.out.println(e.getMessage());
 } finally{
 
 try {
 if(rs!=null){
 rs.close();
 }
 if(ps!=null){
 ps.close();
 }
 if(ct!=null){
 ct.close();
 }
 } catch (SQLException e) {
 e.printStackTrace();
 }
 }
 
 table1=new JTable(rowData,columnNames) {
 private static final long serialVersionUID=-3229560868878458304L;
 public boolean isCellEditable(int row,int column) {
 return false;
 }
 };
 table1.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);//只允许选中一行
 DefaultTableCellRenderer tcr = new DefaultTableCellRenderer();// 设置table内容居中
 tcr.setHorizontalAlignment(JLabel.CENTER);// 这句和上句作用一样
 table1.setDefaultRenderer(Object.class, tcr);
 
 }
 
 }
 
根据您提供的代码,可以看出这是一个Java程序,并且使用了MySQL数据库。在这个程序中,它首先通过PreparedStatement发送动态的SQL语句到MySQL,并且使用executeQuery()方法来获得ResultSet对象,接着将ResultSet对象里面的数据逐行存入rowData向量。最后,利用rowData和columnNames向量创建JTable表格。
 因此,要显示MySQL表格,需要保证以下条件:
 1. 使用正确的用户名和密码连接MySQL;
 2. 使用合适的SQL语句查询MySQL表格;
 3. 确保MySQL表格的列数量和类型与定义的rowData和columnNames向量一致;
 
 如需进一步帮助,请提供更多详细信息或代码片段。
 | 
 |