JEECG minidao如何封装自己的 多表联合查询 分页查询

JEECG确实是一款实实在在的促进生产力的工具好处我想看到此文章的人应该都有所体会了

言归正传 JEECG框架自带的查询确实很省事,但是多表联合查询 分页查询 是我们开发业务系统当中不可避免的这时框架显得有点不太靠得住了 那我们就自己动手丰衣足食

使用minidao封装自己得查询sql吧

Controller

MiniDaoPage<PersonEntity> rlt = this.personService.getpersonInfo(personModel, dataGrid);

ServiceImpl.java

复制代码
@Override
    public MiniDaoPage<PersonEntity> getPersonInfo(PersonEntity personModel, DataGrid dataGrid) throws Exception {

        int page = 0;
        int queryPage = (dataGrid.getPage() - 1) * dataGrid.getRows();
        int rows = dataGrid.getRows();

        MiniDaoPage<PersonEntity> rlt = new MiniDaoPage<PersonEntity>();
        rlt.setPage(dataGrid.getPage());
        rlt.setRows(dataGrid.getRows());
        rlt.setTotal(PersonDao.getPersonPageCount(personModel));
        rlt.setResults(PersonDao.getPersonInfo(personModel, queryPage, page, rows));
        return rlt;
    } 
复制代码

PersonDao 

@Arguments({"personModel", "queryPage", "page", "rows"})
     @ResultType(PersonEntity.class)
     public List<PersonEntity> getPersonInfo(@Param("personModel") PersonEntity personModel, @Param("queryPage")  int queryPage,@Param("page")  int page, @Param("rows") int rows);

sql

复制代码
select * from person
where 1=1
    <#if personModel.name? exists &&personModel.name ?length gt 0>
        and name like CONCAT('%', :personModel.name,'%') 
    </#if>
order by name
limit :queryPage, :rows 
复制代码

猜你喜欢

转载自www.cnblogs.com/Jeely/p/12613134.html