package service;
import util.DBUtil;
import java.awt.*;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
public class StaffServiceImpl implements StaffService {
@Override
public TableDTO retrieveStaffs(StaffRequest request) {
StringBuilder sql = new StringBuilder();
sql.append(" select * from staff ");
if (request.getSearchKey()!=null&&!"".equals(request.getSearchKey().trim())){
sql.append(" where name like '%"+request.getSearchKey().trim()+"%' ");
}
sql.append("order by id desc limit ").append(request.getStart()).append(",")
.append(request.getPageSize());
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
TableDTO returnDTO = new TableDTO();
try {
conn = DBUtil.getConn();
ps = conn.prepareStatement(sql.toString());
rs = ps.executeQuery();
//查询记录
returnDTO.setData(fillData(rs));
sql.setLength(0);
sql.append("select * from staff ");
if (request.getSearchKey()!=null&&!"".equals(request.getSearchKey().trim())){
sql.append(" where name like '%"+request.getSearchKey().trim()+"%' ");
}
ps = conn.prepareStatement(sql.toString());
rs = ps.executeQuery();
while(rs.next()){
int count = rs.getInt(1);
returnDTO.setTotalCount(count);
}
return returnDTO;
}catch (Exception e){
e.printStackTrace();
}finally {
DBUtil.closeRs(rs);
DBUtil.closePs(ps);
DBUtil.closeConn(conn);
}
return null;
}
@Override
public boolean add(StaffDO staffDO) {
StringBuilder sql = new StringBuilder();
sql.append(" insert into staff(id,name,sex,age,adept,salary) ");
sql.append(" values(?,?,?,?,?,?) ");
Connection conn = null;
PreparedStatement ps = null;
try {
conn = DBUtil.getConn();
ps = conn.prepareStatement(sql.toString());
ps.setInt(1,staffDO.getId());
ps.setString(2,staffDO.getName());
ps.setString(3,staffDO.getSex());
ps.setInt(4,staffDO.getAge());
ps.setString(5,staffDO.getAdept());
ps.setDouble(6,staffDO.getSalary());
ps.executeUpdate();
return true;
}catch (Exception e){
e.printStackTrace();
}finally {
DBUtil.closePs(ps);
DBUtil.closeConn(conn);
}
return false;
}
@Override
public StaffDO getById(int selectedStaffId) {
StringBuilder sql = new StringBuilder(" select * from staff where id = ?");
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
StaffDO staffDO = new StaffDO();
try {
conn = DBUtil.getConn();
ps = conn.prepareStatement(sql.toString());
ps.setInt(1,selectedStaffId);
rs = ps.executeQuery();
//处理查出的每一条结果
while(rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String sex = rs.getString("sex");
int age = rs.getInt("age");
String adept = rs.getString("adept");
double salary = rs.getDouble("salary");
staffDO.setId(id);
staffDO.setName(name);
staffDO.setSex(sex);
staffDO.setAge(age);
staffDO.setAdept(adept);
staffDO.setSalary(salary);
}
return staffDO;
}catch (Exception e){
e.printStackTrace();
}finally {
DBUtil.closeRs(rs);
DBUtil.closePs(ps);
DBUtil.closeConn(conn);
}
return null;
}
@Override
public boolean update(StaffDO staffDO) {
StringBuilder sql = new StringBuilder();
sql.append(" update staff set id=?,name=?,sex=?,age=?,adept=?,salary=? ");
sql.append(" where id =? ");
Connection conn = null;
PreparedStatement ps = null;
try {
conn = DBUtil.getConn();
ps = conn.prepareStatement(sql.toString());
ps.setInt(1,staffDO.getId());
ps.setString(2,staffDO.getName());
ps.setString(3,staffDO.getSex());
ps.setInt(4,staffDO.getAge());
ps.setString(5,staffDO.getAdept());
ps.setDouble(6,staffDO.getSalary());
ps.setInt(7,staffDO.getId());
ps.executeUpdate();
return true;
}catch (Exception e){
e.printStackTrace();
}finally {
DBUtil.closePs(ps);
DBUtil.closeConn(conn);
}
return false;
}
@Override
public boolean delete(int[] selectedStaffIds) {
StringBuilder sql = new StringBuilder();
sql.append(" delete from staff where id in ( ");
int length = selectedStaffIds.length;
for(int i=0;i<selectedStaffIds.length;i++){
if (i==(selectedStaffIds.length-1)){
sql.append("?");
}else{
sql.append("?,");
}
}
sql.append(" ) ");
Connection conn = null;
PreparedStatement ps = null;
try {
conn = DBUtil.getConn();
ps = conn.prepareStatement(sql.toString());
for(int i=0;i<selectedStaffIds.length;i++){
//设置参数,从1开始
ps.setInt(i+1,selectedStaffIds[i]);
}
return ps.executeUpdate() == length;
}catch (Exception e){
e.printStackTrace();
}finally {
DBUtil.closePs(ps);
DBUtil.closeConn(conn);
}
return false;
}
private static Vector<Vector<Object>> fillData(ResultSet rs) throws SQLException {
Vector<Vector<Object>> data = new Vector<>();
//处理查出的每一条结果
while(rs.next()) {
Vector<Object> oneRecord = new Vector<>();
int id = rs.getInt("id");
String name = rs.getString("name");
String sex = rs.getString("sex");
int age = rs.getInt("age");
String adept = rs.getString("adept");
double salary = rs.getDouble("salary");
oneRecord.addElement(id);
oneRecord.addElement(name);
oneRecord.addElement(sex);
oneRecord.addElement(age);
oneRecord.addElement(adept);
oneRecord.addElement(salary);
data.addElement(oneRecord);
}
return data;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 1、该资源内项目代码都是经过测试运行成功,功能正常的情况下才上传的,请放心下载使用。 2、适用人群:主要针对计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、数学、电子信息等)的同学或企业员工下载使用,具有较高的学习借鉴价值。 3、不仅适合小白学习实战练习,也可作为大作业、课程设计、毕设项目、初期项目立项演示等,欢迎下载,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于Java Swing和Awt完成的简单的企业财务管理系统源码.zip (53个子文件)
code_30312
pom.xml 1KB
src
main
resources
R-C.png 236KB
java
handler
AddStaffViewHandler.java 1KB
MainViewHandler.java 2KB
UpdateStaffViewHandler.java 1KB
LoginHandler.java 2KB
service
StaffRequest.java 670B
AdminService.java 96B
StaffService.java 264B
StaffDO.java 956B
TableDTO.java 461B
StaffServiceImpl.java 7KB
AdminDO.java 518B
AdminServiceImpl.java 1KB
Enterprise
AddStaffView.java 3KB
MainViewTable.java 1KB
MainViewTableModel.java 1KB
UpdateStaffView.java 4KB
LoginView.java 4KB
MainView.java 5KB
MainViewCellRender.java 777B
util
DBUtil.java 1KB
DimensionUtil.java 238B
webapp
WEB-INF
web.xml 215B
index.jsp 52B
.idea
jarRepositories.xml 845B
uiDesigner.xml 9KB
misc.xml 653B
compiler.xml 531B
.gitignore 176B
encodings.xml 261B
target
classes
R-C.png 236KB
handler
AddStaffViewHandler.class 2KB
UpdateStaffViewHandler.class 2KB
LoginHandler.class 2KB
MainViewHandler.class 2KB
service
AdminService.class 160B
AdminServiceImpl.class 2KB
StaffServiceImpl.class 7KB
AdminDO.class 950B
StaffService.class 303B
StaffRequest.class 1023B
TableDTO.class 999B
StaffDO.class 2KB
Enterprise
LoginView.class 4KB
MainView.class 5KB
MainViewCellRender.class 914B
UpdateStaffView.class 5KB
MainViewTable.class 2KB
MainViewTableModel.class 2KB
AddStaffView.class 4KB
util
DimensionUtil.class 517B
DBUtil.class 2KB
共 53 条
- 1
资源评论
龙年行大运
- 粉丝: 1001
- 资源: 3854
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功