springBoot与MyBatis结合

#maven依赖

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid-spring-boot-starter</artifactId>
    </dependency>
     <!-- MyBatis-plus -->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-generator</artifactId>
    </dependency>
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-core</artifactId>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>




    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper</artifactId>
    </dependency>

    <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-registry-prometheus</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity-engine-core</artifactId>
    </dependency>
<!--db shareding-->

代码
/**

  • 数据库配置

  • @author liuzihao27

  • @date 2021/8/25 23:50
    **/
    @Slf4j
    @Configuration
    public class DruidDataConfig {

    @Bean
    public PaginationInterceptor paginationInterceptor() {
    return new PaginationInterceptor();
    }

    /**

    • 分库分表路由规则
      /
      @Value(“${db.sharding.route:route.xml}”)
      private String dbShardingRoute;
      /
      *
    • 分页查询配置
    • com.github.pagehelper.PageInterceptor
      */
      @Value(“${db.page.helper:mysql}”)
      private String helperDialect;

    @Bean
    public ShardingInterceptor shardingInterceptor() throws IOException {
    log.info(“—初始化【ShardingInterceptor】开始—”);
    ShardingInterceptor shardingInterceptor = new ShardingInterceptor();
    Properties properties = new Properties();
    properties.setProperty(“helperDialect”, helperDialect);
    log.info(“—初始化【ShardingInterceptor】3—参数:{}”, helperDialect);
    properties.setProperty(“configLocation”, dbShardingRoute);
    log.info(“—初始化【ShardingInterceptor】4—参数:{}”, dbShardingRoute);

// properties.load(DruidDataConfig.class.getClassLoader().getResourceAsStream(“sharding.properties”));
shardingInterceptor.setProperties(properties);
log.info(“—初始化【ShardingInterceptor】结束—”);
return shardingInterceptor;
}
}
/**

  • 分页转换

  • @author liuzihao27

  • @email liuzihao27@jd.com

  • @date 2021-10-12 15:08
    /
    public class PageConvertUtil {
    /
    *

    • 转换分页列表
      **/
      public static <T, P> PageResponse convert(IPage iPage, Class

      clazz) {
      List tList = iPage.getRecords();
      if (CollectionUtil.isEmpty(tList)) {
      return convert2PageResponse(iPage);
      }
      List

      result = tList.stream().map(ele -> BeanUtil.convert(ele, clazz)).collect(Collectors.toList());
      iPage.setRecords(result);
      return convert2PageResponse(iPage);
      }

    /**

    • 转换分页列表
      **/
      public static PageResponse convert2PageResponse(IPage iPage) {
      return BeanUtil.convert(iPage, new PageResponse());
      }

    /**

    • 转换pageRequest为Page
      **/
      public static IPage convert2PageRequest(T pageRequest) {
      Page page = new Page();
      page.setCurrent(pageRequest.getPageNo());
      page.setSize(pageRequest.getPageSize());
      List orderItemList = pageRequest.getOrders();
      if (CollectionUtil.isNotEmpty(orderItemList)) {
      List<com.baomidou.mybatisplus.core.metadata.OrderItem> orderItems = orderItemList.stream().filter(ele -> StringUtil.isNotBlank(ele.getColumn())).map(ele -> {
      com.baomidou.mybatisplus.core.metadata.OrderItem orderItem = new com.baomidou.mybatisplus.core.metadata.OrderItem();
      orderItem.setColumn(ele.getColumn());
      orderItem.setAsc(ele.isAsc());
      return orderItem;
      }).collect(Collectors.toList());
      page.setOrders(orderItems);
      }
      return page;
      }
      }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值