• 查询人员列表


    查询人员列表

    • Controller
    //人员模块表现实现类
    @WebServlet(
            name = "PersonnelController",
            urlPatterns = "/personnel.do",
            loadOnStartup = 0
    )
    public class PersonnelController extends HttpServlet {
        //表现层中获取逻辑层实现类
        private PersonnelService personnelService = PersonnelFactory.getPersonnelService();
    
        //定义Servlet运行方法, 接收客户端请求, 返回服务器响应
        @Override
        protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            //1.查询人员列表 query
            List<Personnel> list = personnelService.query();
            //2.写入请求作用域
            request.setAttribute("list", list);
            //3.分发器跳转页面
            request.getRequestDispatcher("/view/personnel/list.jsp").forward(request, response);
        }
     }   
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • Service
    //人员模块逻辑层接口
    public interface PersonnelService {
        //查询数据
        List<Personnel> query();
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    //人员模块逻辑层实现类
    public class PersonnelServiceImpl implements PersonnelService {
        //逻辑层中获取数据层实现类
        private PersonnelDao personnelDao = PersonnelFactory.getPersonnelDao();
    
        //查询数据
        @Override
        public List<Personnel> query() {
            return personnelDao.query();
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • dao
    //人员数据层接口
    public interface PersonnelDao {
        //查询数据
        List<Personnel> query();
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    //人员模块数据层实现类
    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> query() {
            //查询数据库 MybatisUtils openSession():获取手动提交事务SqlSession,适用于查询方法
            SqlSession session = MybatisUtils.openSession();
            List<Personnel> list = session.selectList("personnel.query");
            session.close();
            return list;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • xml
    
    DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="personnel">
    
        
        <select id="query" 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
        select>
    
    mapper>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
  • 相关阅读:
    Vue简介及简单应用
    【学习笔记】Java 一对一培训(2.1)Java基础语法
    一文掌握 HardwareBuffer 的使用
    深入浅出Java多线程(五):线程间通信
    每日刷题打卡Day18
    配置nginx动静分离全步骤
    Rocketmq讲解以及使用Spring Cloud Stream操作
    RabbitMQ和spring boot整合及其他内容
    CSDN每日一题学习训练——Java版(对给定的两个日期之间的日期进行遍历、子集 II、填充每个节点的下一个右侧节点指针)
    在 Linux 操作系统中使用locate 命令快速定位文件和目录
  • 原文地址:https://blog.csdn.net/qq_45939736/article/details/127411561