Web的增删改查分页

EmployeeDaoImpl

package com.openlab.dao.impl;

import com.openlab.beans.Employees;
import com.openlab.dao.EmployeesDao;
import com.openlab.utils.JDBCUtils;
import com.openlab.vo.EmpVo;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class EmployeesDaoImpl implements EmployeesDao {
    JDBCUtils jdbcUtils = new JDBCUtils();
    @Override
    public List<Employees> findAll() {
        return jdbcUtils.executeQuery(Employees.class,"SELECT employee_id,first_name,last_name,email,job_id,salary,commission_pct,manager_id,department_id,hiredate FROM employees;");

    }
    @Override
    public int delelte(int id) {
        return jdbcUtils.executeUpdate("DELETE FROM employees WHERE employee_id=?",id);
    }
    private  void setCondtions(EmpVo vo,StringBuilder sql,List<Object> params ){

        if(vo.getFirstname()!=null&&!"".equals(vo.getFirstname())){
            sql.append("  and first_name LIKE ? ");
            params.add("%"+vo.getFirstname()+"%");
        }
        if(vo.getLastname()!=null&&!"".equals(vo.getLastname())){
            sql.append(" and last_name LIKE ? ");
            params.add("%"+vo.getLastname()+"%");
        }
        if(vo.getMinsalary()!=null&&!"".equals(vo.getMinsalary())){
            sql.append(" and salary>= ? ");
            params.add(Integer.parseInt(vo.getMinsalary()));
        }
        if(vo.getMaxsalary()!=null&&!"".equals(vo.getMaxsalary())){
            sql.append(" and salary<= ? ");
            params.add(Integer.parseInt(vo.getMaxsalary()));
        }
    }
    @Override
    public int getCount(EmpVo vo) {
        StringBuilder sql=new StringBuilder(" select count(*) from employees  where 1 = 1 ");
        List<Object> params = new ArrayList<>();
        setCondtions(vo,sql,params);
        Object val = jdbcUtils.findOneVal(sql.toString(),params.toArray());
        System.out.println(sql.toString());
        System.out.println(params);
        return Integer.parseInt(val.toString());

    }
    @Override
    public List<Employees> getPageData(int pageNo, int pageSize, EmpVo vo) {
        StringBuilder sql  = new StringBuilder("SELECT  employee_id,first_name,last_name,email,job_id,salary,commission_pct,manager_id,department_id,hiredate FROM employees where 1=1 ");
        List<Object> params = new ArrayList<>();
        setCondtions(vo,sql,params);
        sql.append(" limit ?,? ");
        params.add((pageNo-1)*pageSize);
        params.add(pageSize);

        return jdbcUtils.executeQuery(Employees.class,sql.toString(),params.toArray());
    }

    @Override
    public List<String> findNames(String keyword) {
        String sql="SELECT first_name FROM employees WHERE first_name LIKE ?";
        List<String> list = new ArrayList<>();
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
           connection = jdbcUtils.getConnection();
            preparedStatement  =  connection.prepareStatement(sql);
           preparedStatement.setString(1,keyword+"%");
          resultSet  =  preparedStatement.executeQuery();
          while(resultSet.next()){
            String name =    resultSet.getString(1);
            list.add(name);
          }
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            jdbcUtils.close(connection,preparedStatement,resultSet);
        }

        return list;
    }

    @Override
    public List<Employees> findTop5() {
        return jdbcUtils.executeQuery(Employees.class,"SELECT employee_id,first_name,last_name,email,job_id,salary,commission_pct,manager_id,department_id,hiredate FROM employees limit 5");

    }
}

EmployeeDao

package com.openlab.dao;

import com.openlab.po.Employees;

import java.util.List;

public interface EmployeeDao {
    public List<Employees> findAll();
    public  int delelte(int id);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值