mysql和mybatis的常用操作

1、如何避免插入重复数据?

insert ignore into

insert on duplicate  key for update

replace into

 2、mybatis的分页

  如果不配置分页,myatis采用逻辑分页,会有很大性能损耗,并且可能产生OOM, 故在实践中,都会了采用物理分页。

最简单的就是使用limit关键字和count关键字,执行两次sql语句。很简单,很好理解。但是比较繁琐。

复制代码
public Pager<User> findByPager(int page,int size){
    Map<String, Object> params = new HashMap<String, Object>();
    params.put("page", (page-1)*size);
    params.put("size", size);
    Pager<User> pager = new Pager<User>();
    List<User> list = userDao.findByPager(params);
    pager.setRows(list);
    pager.setTotal(userDao.count());
    return pager;
}
复制代码

  使用封装好的Interceptor和PageHelper。

  但是配置比较复杂

  我们可以直接使用mybatisplus的分页插件

    @Bean
    public PaginationInterceptor paginationInterceptor() {
        PaginationInterceptor page = new PaginationInterceptor();
        page.setDialectType("mysql");
        page.setLimit(-1);
        return page;
    }

 

参考博客:

  mybatis分页的几种实现方法

posted @   懂得了才能做一些改变  阅读(182)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示