MyBatisPlus使用记录
常用简单增删查改
增:
xxMapper.insert(xxDO)
删:
xxMapper.delete(new QueryWrapper<xx>().eq("xxx",xxx)...)
查:
注意在主键上加注解表明主键@TableId(“commodity_id”)
xxMapper.selectById("xx")
xxMapper.selectOne(new QueryWrapper<xx>()) //查询单个结果,返回JOBO
xxMapper.selectMaps(new QueryWrapper<xx>()) //查询结果每一行记录都会转成一个Map<String, Object>对象,Map的key对应列名,value对应该列的值
xxMapper.selectList(new QueryWrapper<xx>()) //查询结果以列表形式返回
xxMapper.selectCount(new QueryWrapper<xx>()) //返回查询结果集中的记录数。
改:
update仅修改提供的参数,为提升效率提供的bean尽量只提供需修改的参数
Page<ForumArticleDO> page = new Page<>(pageNum, PageSize.SIZE15.getSize()); //初始分页配置,第pageNum页,每页15条 QueryWrapper<ForumArticleDO> qw = new QueryWrapper<>(); //查询条件 if(boardId!=null&&boardId!=0) qw.eq("p_board_id",pBoardId); qw.orderByDesc(orderTypeEnum.getOrderSql()); IPage<ForumArticleDO> iPage = articleMapper.selectPage(page,qw.select( ForumArticleDO.class, f->!f.getColumn().equals("content") && !f.getColumn().equals("markdown_content"))); //查询结果排除特定列
得到的IPage即为分页结果,需注意,必须先配置MyBatisPlus分页拦截器,否则IPage无法分页
/** * MyBatisPlus配置类 */ @Configuration public class MyBatisPlusConfig { /** * MyBatisPlus拦截器(用于分页) */ @Bean public MybatisPlusInterceptor paginationInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); //添加MySQL的分页拦截器 interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); return interceptor; } }