# dimples-mybatis-page **Repository Path**: dimples9527/dimples-mybatis-page ## Basic Information - **Project Name**: dimples-mybatis-page - **Description**: 基于mybatis-plus的分页插件, 主要是解决mybatis-plus分页排序不能灵活定义的问题 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master-v1 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-05-14 - **Last Updated**: 2020-12-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # dimples-mybatis-page #### 使用 首先将plugins下的所有文件拷贝到自己的项目中 - 注册插件 ```java @Bean public PageInterceptor pageInterceptor() { PageInterceptor pageInterceptor = new PageInterceptor(); // pageInterceptor.setDialectType("cache"); //或者 pageInterceptor.setDialectClazz("com.medical.cdr.core.page.CacheDialect"); return pageInterceptor; } ``` - Service中使用 ``` Page page = new Page<>(queryRequest.getPageNumber(), queryRequest.getPageSize()); if (StrUtil.isNotBlank(queryRequest.getField()) && StrUtil.isNotBlank(queryRequest.getOrder())) { OrderItem orderItem = new OrderItem().setAsc(StrUtil.equalsIgnoreCase(queryRequest.getOrder(), "ASC")) .setColumn(queryRequest.getField()); page.addOrder(orderItem); } else { OrderItem orderItem = new OrderItem().setAsc(true).setColumn("menu_order"); page.addOrder(orderItem); } page.setRecords(this.baseMapper.selectListByRoleId(page, roleId, belongSystem)); ``` - Mapper中 ``` List selectListByRoleId(@Param("page") Page page, @Param("roleId") String roleId, @Param("belongSystem") String belongSystem); ``` - XML 中 ``` SELECT * FROM EMR_USER.tb_menu tm LEFT JOIN EMR_USER.tb_menu_system_dict AS tmsd ON tmsd.id = tm.belong_system LEFT JOIN EMR_USER.tb_menu_params AS tmp ON tmp.menu_id = tm.menu_id LEFT JOIN EMR_USER.tb_menu_href_params AS tmhp ON tmhp.id = tmp.menu_href_param_id LEFT JOIN EMR_USER.tb_role_menu AS trm ON trm.menu_id = tm.menu_id LEFT JOIN EMR_USER.tb_role AS tr ON tr.role_id = trm.role_id AND tm.menu_type = '菜单' AND tr.role_id = #{roleId} AND belong_system = #{belongSystem} ``` ### 支持的数据库 - cache - mysql - oracle 可以自定义实现IDialect实现自己的数据库支持