利用Myabtisplus的IPage插件进行分页

1、创建实体类   Entity.java

@Data
@Accessors(chain = true)
@ApiModel
@TableName("pg_table")
@ToString(callSuper = true)
public class Entity{
    private Integer id;

    private String rjsyZl;

    private String rjsy;
    private String num;

 @TableField(exist = false) 
  private Long dialogThreeCurrent;
@TableField(exist
= false)
  private Integer dialogThreeSize; }

2、创建PageMapper.xml

<select id="query" resultType="com.ustcinfo.starter.crj.entity.Entity">
        SELECT
        '合计' AS rjsy,
        COUNT(1) AS num
        FROM pg_table
        WHERE DATE_FORMAT(DATE_ADD(create_date,INTERVAL -1 DAY),'%Y-%m-%d')  = DATE_FORMAT( #{createDate},'%Y-%m-%d')
        <if test="cz!='全部'" >
            AND  cz=#{cz}
        </if>
        <if test="gj!=null and gj!=''" >
            AND   gj=#{gj}
        </if>
        UNION
        (SELECT   IFNULL(rjsy_zl,'其他')AS rjsy ,COUNT(1) AS num FROM pg_table 
    WHERE DATE_FORMAT(DATE_ADD(create_date,INTERVAL -1 DAY),'%Y-%m-%d') = DATE_FORMAT( #{createDate},'%Y-%m-%d') 
    <if test="cz!='全部'" > 
      AND cz=#{cz} 
    </if> 
    <if test="gj!=null and gj!=''" > 
      AND gj=#{gj} 
    </if> 
    GROUP BY rjsy_zl) ORDER BY num DESC </select>

3、创建PageMapper.java

@Repository
public interface PageMapper extends BaseDao<Entity> {
    IPage<Entity> query(@Param("page") Page page,@Param("cz") String cz, @Param("gj")String gj,@Param("createDate")String createDate); }

4、创建PageService.java

public interface PageService extends ISuperService<Entity> {
    IPage<Entity> getTlsy(JSONObject json);
}

5、创建PageServiceImpl.java

@Service
public class PageServiceImpl extends ServiceImpl<PageMapper, Entity> implements PageService{
    protected static Logger logger = LoggerFactory.getLogger(PageServiceImpl.class);

    @Autowired
    private PageMapper pageMapper;
    @Override
    public IPage<Entity> getTlsy(JSONObject json) {
    //接受前端传过来的参数 String s1
= json.getString("personType"); String s2 = json.getString("gjdq"); String s3 = json.getString("endTime"); String s4 = json.getString("dialogThreeCurrent"); String s5 = json.getString("dialogThreeSize"); Page<Entity> page = new Page<>(Long.parseLong(s4), Integer.parseInt(s5)); return PageMapper.query(page,s1,s2,s3);
  }
}

6、创建PageController.java

@RestController
@RequestMapping("/pgfx")
public class PageController{
    @Autowired
     PageService pageService;
@PostMapping(value="/getpage",produces = MediaType.APPLICATION_JSON_VALUE)
@ApiOperation(value = "Ipage分页", notes = "Ipage分页", produces = MediaType.APPLICATION_JSON_VALUE)
public R<IPage<Entity>> getTlsy(@RequestBody JSONObject json){
    IPage<Entity> tlsy = pageService.getTlsy(json);
        return success(tlsy);
  }
}

 

 


posted @ 2022-05-11 15:38  年华只余一地悲凉  阅读(906)  评论(0编辑  收藏  举报
/*粒子线条,鼠标移动会以鼠标为中心吸附的特效*/