package frame; /* * 这是我的一个stu表的模型 * 可以把对学生表的操作全都封装到这个类 */ import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.Vector; import javax.swing.table.*; public class ProjectModel extends AbstractTableModel{ //rowData存放行数据,columnNames存放列名 Vector rowData,columnNames; //定义连接数据库的变量 Statement stat = null; Connection ct = null; ResultSet rs = null; //初始化 public void init(String sql){ if(sql.equals("")){ sql = "select * from Project"; } //中间 //设置列名 columnNames = new Vector(); columnNames.add("项目编号"); columnNames.add("项目名称"); columnNames.add("负责老师"); columnNames.add("参与的研究生"); columnNames.add("项目类型"); columnNames.add("项目等级"); columnNames.add("项目经费"); columnNames.add("项目来源"); //rowData存放多行 rowData = new Vector(); try{ //1.加载驱动 Class.forName("com.mysql.jdbc.Driver"); System.out.println("加载成功"); //2.连接数据库 //定义几个常量 String url = "jdbc:mysql://localhost:3306/keshe?characterEncoding=utf8"; String user = "root"; String passwd = "luoyiluoyi"; ct = DriverManager.getConnection(url,user,passwd); stat = ct.createStatement();//创建stat对象 rs = stat.executeQuery(sql);//查询结果 while(rs.next()){ Vector hang = new Vector(); 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.getString(8)); //加入到rowData中 rowData.add(hang); } }catch(Exception e){ e.printStackTrace(); }finally{ try{ if(rs!=null){ rs.close(); rs = null; } if(stat != null){ stat.close(); stat = null; } if(ct != null){ ct.close(); ct = null; } }catch(Exception e){ e.printStackTrace(); } } } //增加学生函数 public void addStu(String sql){ //根据用户输入的sql语句,完成添加任务 } //第二个构造函数,通过传递的sql语句来获得数据模型 public ProjectModel(String sql){ this.init(sql); } //构造函数,用于初始化我的数据模型(表) public ProjectModel(){ this.init(""); } //得到共有多少行 public int getRowCount() { // TODO Auto-generated method stub return this.rowData.size(); } //得到共有多少列 public int getColumnCount() { // TODO Auto-generated method stub return this.columnNames.size(); } //得到某行某列的数据 public Object getValueAt(int row, int column) { // TODO Auto-generated method stub return ((Vector)(this.rowData.get(row))).get(column); } //得到属性名字 public String getColumnName(int column) { // TODO Auto-generated method stub return (String)this.columnNames.get(column); }}

微信网友_6267404517216256 LV1
2024年5月1日
李朝磊 LV18
2023年11月18日
夜猫子111 LV2
2023年11月6日
fesfefe LV13
2023年9月19日
xiao小果 LV13
2022年5月24日
18692870445 LV1
2021年12月25日
qianzf LV12
2021年12月23日
尹恒yingying LV18
2021年10月12日
13112360 LV2
2021年8月27日
wodemabu88 LV1
2021年8月1日