业务逻辑层:Model 层的分析

本文介绍了一个用于处理人事信息的数据模型类,该类继承了AbstractTableModel并实现了增删查功能。文章详细展示了如何通过SQL查询来填充表格数据,并提供了删除特定记录的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
 * 这是人事的数据模型类,完成对人事表的各种操作
 */


package com.mhl.model;


import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Vector;


import javax.swing.table.AbstractTableModel;


import com.mhl.db.SqlHelper;


public class MenuModel extends AbstractTableModel{


Vector colums;
Vector rows;
ResultSetMetaData rsmt=null;
//写一个方法,用于查询需要显示的人事信息
//对query修改,让其有更好的通用性


//增删改
public boolean delEmpById(String empId){
boolean b=true;
String sql="delete from HrManage where 员工号=?";
String []paras={empId};
SqlHelper sh=new SqlHelper();
try {
b=sh.exeUpdate(sql, paras);
} catch (Exception e) {
e.printStackTrace();
}finally{
sh.close();
}

return b;
}



public void query(String sql,String paras[]){
//初始化列

this.colums=new Vector();
this.rows=new Vector();
SqlHelper sh=new SqlHelper();
ResultSet rs=sh.query(sql, paras);
//从rs对象中可以得到一个
try {
rsmt=rs.getMetaData();
for(int i=0;i<rsmt.getColumnCount();i++){
this.colums.add(rsmt.getColumnName(i+1));
}

} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

try {
while(rs.next()){
Vector temp=new Vector();
for(int i=0;i<rsmt.getColumnCount();i++){
temp.add(rs.getString(i+1));
}
rows.add(temp);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
sh.close();
}


}




@Override
public String getColumnName(int column) {
// TODO Auto-generated method stub
return this.colums.get(column).toString();
}








public int getColumnCount() {
// TODO Auto-generated method stub
return this.colums.size();
}


@Override
public int getRowCount() {
// TODO Auto-generated method stub
return this.rows.size();
}


@Override
public Object getValueAt(int rowIndex, int columnIndex) {
// TODO Auto-generated method stub
return ((Vector)rows.get(rowIndex)).get(columnIndex);
}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值