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; }
参考博客:
日进有功