Advertisement

按条件分页查询

阅读量:

在springboot中,按照检索条件查询内容,并实现分页
Controller

复制代码
     /** * 查询用户信息-全部
     */
    @GetMapping("/getUserInfoAll")
    @ApiOperation(value = "查询用户信息-全部")
    public IPage<UserInfo> getUserInfoAll(BindingAwareModelMap conditions, @RequestParam(value = "current", defaultValue = "1", required = false) int current,
                                          @RequestParam(value = "size", defaultValue = "10", required = false) int size,Integer zxzt,
                                          @RequestParam(required = false)String yhxm,@RequestParam(required = false)String yhxb,@RequestParam(required = false)String yhzc,
                                          @RequestParam(required = false)String yddh,@RequestParam(required = false)String dlzh,@RequestParam(required = false)String jgid) {
        if (zxzt.equals(0)){
            return userInfoService.selectDeleteUserInforPage(conditions, current, size,yhxm,yhxb,yhzc,yddh,dlzh,jgid);
        }else {
            return userInfoService.selectUserInfoPage(conditions, current, size,yhxm,yhxb,yhzc,yddh,dlzh,jgid);
        }
    
    
    }
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    AI写代码

Service

复制代码
    /** * 查询用户信息分页
     * * @param current 当前页
     * @param size    每页显示
     * @return 用户信息列表
     */
    IPage<UserInfo> selectUserInfoPage(Map<String,Object> conditions, long current, long size,String yhxm,String yhxb,String yhzc,String yddh,String dlzh,String jgid);
    
    IPage<UserInfo> selectDeleteUserInforPage(Map<String,Object> conditions,long current,long size,String yhxm,String yhxb,String yhzc,String yddh,String dlzh,String jgid);
    
    
      
      
      
      
      
      
      
      
      
      
    
    AI写代码

ServiceImpl

复制代码
       @Override
    public IPage<UserInfo> selectUserInfoPage(Map<String,Object> conditions, long current, long size,String yhxm,String yhxb,String yhzc,String yddh,String dlzh,String jgid) {
        QueryWrapper<UserInfo> query = Wrappers.query();
        boolean all = false;
        if (conditions.containsKey("zhzt") && "1".equals(conditions.get("zhzt"))) {
            all = true;
        }
        conditions.remove("zhzt");
    
        conditions.forEach((key, value) -> {
            query.like(key, value);
        });
        Page<UserInfo> userInfoPage = new Page<>(current, size);
        IPage<UserInfo> page = null;
        if (all) {
        } else {
            if (jgid != null){
                page = baseMapper.selectJgmc(userInfoPage,query,jgid);
            }else{
                page = baseMapper.selectUserWithOutStatus(userInfoPage, query,yhxm,yhxb,yhzc,yddh,dlzh,jgid);
            }
        }
        return page;
    }
    
    @Override
    public IPage<UserInfo> selectDeleteUserInforPage(Map<String, Object> conditions, long current, long size,String yhxm,String yhxb,String yhzc,String yddh,String dlzh,String jgid) {
        QueryWrapper<UserInfo> query = Wrappers.query();
        boolean all = false;
        if(conditions.containsKey("zhzt")&& "1".equals(conditions.get("zhzt"))) {
            all = true;
        }
        conditions.remove("zhzt");
    
        conditions.forEach((key,value)->{
            query.like(key,value);
        });
        Page<UserInfo> userInfoPage = new Page<>(current, size);
        IPage<UserInfo> page = null;
        if(all){
        }else {
            if (jgid != null){
                page = baseMapper.selectJgmc(userInfoPage,query,jgid);
            }else{
                page = baseMapper.selectDeleteUserWithOutStatus(userInfoPage, query,yhxm,yhxb,yhzc,yddh,dlzh,jgid);
            }
        }
        return page;
    }
    
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    AI写代码

Mapper

复制代码
    /** * 查询所有的用户信息(包括已经被逻辑删除的)
     * @param page
     * @param queryWrapper
     * @return
     */
    IPage<UserInfo> selectUserWithOutStatus(IPage<UserInfo> page, @Param(Constants.WRAPPER) Wrapper<UserInfo> queryWrapper,
                                            @Param("YHXM")String yhxm,@Param("YHXB")String yhxb,@Param("YHZC")String yhzc,
                                            @Param("YDDH")String yddh,@Param("DLZH")String dlzh,@Param("JGBMXXBID")String jgid);
    
    IPage<UserInfo> selectDeleteUserWithOutStatus(IPage<UserInfo> page,@Param(Constants.WRAPPER)Wrapper<UserInfo> queryWrapper,
                                                  @Param("YHXM")String yhxm,@Param("YHXB")String yhxb,@Param("YHZC")String yhzc,
                                                  @Param("YDDH")String yddh,@Param("DLZH")String dlzh,@Param("JGBMXXBID")String jgid);
    
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    AI写代码

xml

复制代码
    <?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="com.zhicheng.javaplat.modular.user.dao.UserInfoMapper">
    
    <sql id="baseField" >
    yhxx.YHZHXXBID
    ,yhxx.YHXM
    ,yhxx.YHXB
    ,yhxx.SFZH
    ,yhxx.YHZC
    ,yhxx.YDDH
    ,yhxx.GLYBS
    ,yhxx.SFSQ
    ,yhxx.DLZH
    ,yhxx.DLMM
    ,yhxx.ZHZT
    ,yhxx.SHSJ
    ,yhxx.SHRYID
    ,yhxx.SHJL
    ,yhxx.SHWTGYY
    ,yhxx.CJSJ
    ,yhxx.CJRYID
    ,yhxx.JGID
    ,yhxx.BMID
    </sql>
    <select id="selectUserWithOutStatus" resultType="com.zhicheng.javaplat.modular.user.entity.UserInfo">
        select YHXM,YHXB,YDDH,DLZH,ZHZT,CJSJ,cjrmc,sfsq,sfzh,glybs,YHZHXXBID,listagg(JGBMMC,',') within group (order by JGBMMC) JGBMMC,listagg(jgbms,',') within group (order by jgbms) jgbms
        from
        (select distinct jgbm.JGBMXXBID jgbms,yhxx.YHZHXXBID,yhxx.CJSJ,yhxx.CJRYID,yhjg.ZXZT,jgbm.JGBMMC
        ,cjrxx.yhxm cjrmc,yhxx.YHXM ,yhxx.YHXB,yhxx.YDDH ,yhxx.DLZH,yhxx.YHZC,yhxx.zhzt,yhxx.sfsq,yhxx.sfzh,yhxx.glybs
        from qx_yhzhxxb yhxx
        left join qx_yhzh_jgbm yhjg on yhxx.yhzhxxbid = yhjg.yhzhxxbid
        left join qx_jgbmxxb jgbm on yhjg.jgbmxxbid = jgbm.jgbmxxbid
        left join QX_YHZHXXB cjrxx on yhxx.yhxm = cjrxx.yhxm
        where (yhjg.ZXZT=0 or yhjg.zxzt is null)
        <if test='YHXM!=null and YHXM != ""'>
            AND yhxx.YHXM like concat(concat('%',#{YHXM}), '%')
        </if>
        <if test='YHXB!=null and YHXB != ""'>
            AND yhxx.YHXB like concat(concat('%',#{YHXB}), '%')
        </if>
        <if test='YHZC!=null and YHZC != ""'>
            AND yhxx.YHZC like concat(concat('%',#{YHZC}), '%')
        </if>
        <if test='YDDH!=null and YDDH != ""'>
            AND yhxx.YDDH like concat(concat('%',#{YDDH}), '%')
        </if>
        <if test='DLZH!=null and DLZH != ""'>
            AND yhxx.DLZH like concat(concat('%',#{DLZH}), '%')
        </if>
        <if test='JGBMXXBID!=null and JGBMXXBID != ""'>
            AND yhjg.JGBMXXBID=#{JGID}
        </if>)
        group by YHZHXXBID,YHXM,YHXB,YDDH,DLZH,ZHZT,CJSJ,cjrmc,sfsq,sfzh,glybs order by cjsj desc
    </select>
    
    <select id="selectDeleteUserWithOutStatus" resultType="com.zhicheng.javaplat.modular.user.entity.UserInfo">
        SELECT distinct
        YHXM,YHXB,YDDH,DLZH,ZHZT,CJSJ,cjrmc,YHZHXXBID,JGBMMC,jgbms,sfsq,sfzh,glybs
        FROM
        (select YHXM,YHXB,YDDH,DLZH,ZHZT,CJSJ,cjrmc,sfsq,sfzh,glybs,YHZHXXBID,listagg(JGBMMC,',') within group (order by JGBMMC) JGBMMC,listagg(jgbms,',') within group (order by jgbms) jgbms
        from
        (select distinct jgbm.JGBMXXBID jgbms,yhxx.YHZHXXBID,yhxx.CJSJ,yhxx.CJRYID,yhjg.ZXZT,jgbm.JGBMMC
        ,cjrxx.yhxm cjrmc,yhxx.YHXM ,yhxx.YHXB,yhxx.YDDH ,yhxx.DLZH,yhxx.YHZC,yhxx.zhzt,yhxx.sfsq,yhxx.sfzh,yhxx.glybs
        from qx_yhzhxxb yhxx
        left join qx_yhzh_jgbm yhjg on yhxx.yhzhxxbid = yhjg.yhzhxxbid
        left join qx_jgbmxxb jgbm on yhjg.jgbmxxbid = jgbm.jgbmxxbid
        left join QX_YHZHXXB cjrxx on yhxx.yhxm = cjrxx.yhxm
        where (yhjg.ZXZT=0 or yhjg.zxzt is null)
        <if test='YHXM!=null and YHXM != ""'>
            AND yhxx.YHXM like concat(concat('%',#{YHXM}), '%')
        </if>
        <if test='YHXB!=null and YHXB != ""'>
            AND yhxx.YHXB like concat(concat('%',#{YHXB}), '%')
        </if>
        <if test='YHZC!=null and YHZC != ""'>
            AND yhxx.YHZC like concat(concat('%',#{YHZC}), '%')
        </if>
        <if test='YDDH!=null and YDDH != ""'>
            AND yhxx.YDDH like concat(concat('%',#{YDDH}), '%')
        </if>
        <if test='DLZH!=null and DLZH != ""'>
            AND yhxx.DLZH like concat(concat('%',#{DLZH}), '%')
        </if>
        <if test='JGBMXXBID!=null and JGBMXXBID != ""'>
            AND yhjg.JGBMXXBID=#{JGID}
        </if>)
        group by YHZHXXBID,YHXM,YHXB,YDDH,DLZH,ZHZT,CJSJ,cjrmc,sfsq,sfzh,glybs order by cjsj desc) where ZHZT=0 order by cjsj desc
    </select>
    
    <select id="selectOneWithOrg" resultType="com.zhicheng.javaplat.modular.user.entity.UserInfo">
       SELECT
        <include refid="baseField" />
            ,jgxx.jgbmmc jgmc
            ,bmxx.jgbmmc bmmc
        FROM
            QX_YHZHXXB yhxx
            left join QX_JGBMXXB jgxx on yhxx.jgid = jgxx.jgbmxxbid
            left join QX_JGBMXXB bmxx on yhxx.bmid = bmxx.jgbmxxbid and bmxx.JGBMLX = 1
        where yhxx.zhzt=0
              and  yhxx.dlzh = #{userName}
    </select>
    
    <select id="selectUserWithOutList" resultType="com.zhicheng.javaplat.modular.user.entity.UserInfo">
        SELECT distinct
        <include refid="baseField" />
        ,cjrxx.yhxm cjrmc
        FROM
        QX_YHZHXXB yhxx
        left join QX_YHZHXXB cjrxx on yhxx.yhxm = cjrxx.yhxm
        where yhxx.zhzt=0
        order by yhxx.cjsj desc
    </select>
    
    <select id="selectJgmc" resultType="com.zhicheng.javaplat.modular.user.entity.UserInfo">
    select yhjg.JGBMXXBID,yhjg.YHZHXXBID,yhjg.CJSJ,yhjg.CJRYID,yhjg.ZXZT,yhjg.ZXSJ,yhjg.ZXRYID,jgxx.JGBMMC
    ,cjrxx.yhxm cjrmc,yhxx.YHXM ,yhxx.YHXB,yhxx.YDDH ,yhxx.DLZH
    from QX_YHZH_JGBM yhjg
    left join  QX_YHZHXXB yhxx on yhxx.YHZHXXBID = yhjg.YHZHXXBID
    left join QX_JGBMXXB jgxx on jgxx.JGBMXXBID = yhjg.JGBMXXBID
    left join QX_YHZHXXB cjrxx on yhxx.yhxm = cjrxx.yhxm
    where yhjg.ZXZT = 0 and yhjg.JGBMXXBID=#{JGID}
    </select>
    
    <select id="selectUserWithoutJg" resultType="com.zhicheng.javaplat.modular.user.entity.UserInfo">
    SELECT <include refid="baseField" />
            ,jgxx.jgbmmc jgbms
            ,bmxx.jgbmmc
            ,cjrxx.yhxm cjrmc
        FROM
            QX_YHZHXXB yhxx
            left join QX_YHZHXXB cjrxx on yhxx.yhxm = cjrxx.yhxm
            left join QX_JGBMXXB jgxx on yhxx.jgid = jgxx.jgbmxxbid
            left join QX_JGBMXXB bmxx on yhxx.bmid = bmxx.jgbmxxbid and bmxx.JGBMLX = 1
        where yhxx.zhzt=0
        <if test='YHXM!=null and YHXM != ""'>
            AND yhxx.YHXM like concat(concat('%',#{YHXM}), '%')
        </if>
        <if test='YHXB!=null and YHXB != ""'>
            AND yhxx.YHXB like concat(concat('%',#{YHXB}), '%')
        </if>
        <if test='YHZC!=null and YHZC != ""'>
            AND yhxx.YHZC like concat(concat('%',#{YHZC}), '%')
        </if>
        <if test='YDDH!=null and YDDH != ""'>
            AND yhxx.YDDH like concat(concat('%',#{YDDH}), '%')
        </if>
        <if test='DLZH!=null and DLZH != ""'>
            AND yhxx.DLZH like concat(concat('%',#{DLZH}), '%')
        </if>
    </select>
    </mapper>
    
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    AI写代码

在Oracle查询中将结果列按分组用逗号隔开,拼接成一行使用(listagg函数)

全部评论 (0)

还没有任何评论哟~