MyBatisPlus的通用查询,简直可以丢弃Dao和mapper.xml了

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
31
32
33
34
/**
 *
 * @author shenjing
 * @date 2018/6/20
 */
@Service
public class LocalDispatchServiceImpl extends ServiceImpl<Rep_DisPatchDao, Rep_DisPatch> implements LocalDispatchService {
    /**
     * 根据domain组合各种类型的查询,一般的查询就可以通过这个完成了,dao完全没有存在的意义了
     *
     * @param domain
     * @return
     */
    @Override
    public Rep_DisPatch findOneByDomain(Rep_DisPatch domain) {
        EntityWrapper<Rep_DisPatch> eWrapper = new EntityWrapper<>(domain);
        return selectOne(eWrapper);
    }
 
    /**
     * 根据分页参数进行查询
     *
     * @param dispatchPageParam
     * @return
     */
    @Override
    public Page<Rep_DisPatch> findListByPage(DispatchPageParam dispatchPageParam) {
        Page<Rep_DisPatch> page = new Page<>(dispatchPageParam.getPageIndex(), dispatchPageParam.getPageSize());
        EntityWrapper<Rep_DisPatch> eWrapper = new EntityWrapper<>(dispatchPageParam.getObj());
        Page<Rep_DisPatch> ret = selectPage(page, eWrapper);
        return ret;
    }
 
}

  此处ServiceImpl,是myBatisPlus提供的一个基类。

1
DispatchPageParam 是自己写的一个查询参数的封装<br><br>
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
31
32
33
34
35
36
/**
 * 基础分页参数
 * @author shenjing
 * @date 2018/6/20
 */
public class BasePageParam<T> {
    T obj;
 
    int pageIndex;
 
    int pageSize;
 
    public T getObj() {
        return obj;
    }
 
    public void setObj(T obj) {
        this.obj = obj;
    }
 
    public int getPageIndex() {
        return pageIndex;
    }
 
    public void setPageIndex(int pageIndex) {
        this.pageIndex = pageIndex;
    }
 
    public int getPageSize() {
        return pageSize;
    }
 
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }
}

  实际上这个里面什么都没有,只要继承基类就可以了

1
2
3
4
5
6
/**
 * Created by shenjing on 2018/6/20.
 */
public class DispatchPageParam extends BasePageParam<Rep_DisPatch> {
 
}

  

posted @   JangoJing  阅读(11379)  评论(2编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示