业务逻辑层:Model 层的分析

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


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 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 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);
}


}

你可能感兴趣的:(Java)