分页查询人员
@WebServlet(
name = "PersonnelController",
urlPatterns = "/personnel.do",
loadOnStartup = 0
)
public class PersonnelController extends HttpServlet {
private PersonnelService personnelService = PersonnelFactory.getPersonnelService();
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int current = 1;
int size = 10;
int start = (current - 1) * size;
Map<String, Object> params = new HashMap<>();
params.put("start", start);
params.put("size", size);
List<Personnel> list = personnelService.queryByPage(params);
request.setAttribute("list", list);
request.getRequestDispatcher("/view/personnel/list.jsp").forward(request, response);
}
public interface PersonnelService {
List<Personnel> queryByPage(Map<String, Object> params);
}
public class PersonnelServiceImpl implements PersonnelService {
private PersonnelDao personnelDao = PersonnelFactory.getPersonnelDao();
@Override
public List<Personnel> queryByPage(Map<String, Object> params) {
return personnelDao.queryByPage(params);
}
}
public interface PersonnelDao {
List<Personnel> queryByPage(Map<String, Object> params);
}
public class PersonnelDaoImpl implements PersonnelDao {
public PersonnelDaoImpl() {
}
private static PersonnelDaoImpl instance = null;
public static PersonnelDaoImpl getInstance() {
if (instance == null) {
synchronized (PersonnelDaoImpl.class) {
if (instance == null) {
instance = new PersonnelDaoImpl();
}
}
}
return instance;
}
@Override
public List<Personnel> queryByPage(Map<String, Object> params) {
SqlSession session = MybatisUtils.openSession();
List<Personnel> list = session.selectList("personnel.queryByPage", params);
session.close();
return list;
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="personnel">
<select id="queryByPage" parameterType="Map" resultType="com.javakc.rms.personnel.entity.Personnel">
select id,name,unit,card,grade,starting_date,state,contract,vehicles_subsidies,
heating_subsidies,property_subsidies,health_insurance,endowment_insurance,pension_unemployment,
occupational_pension,injury_fertility,reason from rms_personnel limit #{start},#{size}
</select>
</mapper>