第十一章Spring Cloud alibababaを添付してmybatisplusを集積します.


1:mybatisplus名前から見ると、実はmybatisの強化版が私達のためにいくつかの方法をカプセル化してxmlを書くことを省きました.具体的にはここで詳しく紹介しないで、直接コードをつけます.2.1:pomに依存を導入します.
 <!--mybatisplus-->
<dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>mybatis-plus-boot-starter</artifactId>
   <version>2.2.0</version>
</dependency>
2.2 mlファイルにプロファイルを追加する
mybatis-plus
mybatis-plus:
  mapper-locations: classpath:mapper/**/*.xml #  xml  
  type-aliases-package: com.hyl.study.api.entity #    
  configuration:
    map-underscore-to-camel-case: true   #        
    #   slq    
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    logic-delete-value: 1
    logic-not-delete-value: 0
    sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
2.3起動類に加えて
@MapperScan( basePackages = {"com.hyl.study.api.mapper"})
mapperファイルと私達が定義したdaoインターフェースをスキャンします.2.4配置クラスを追加しても、改ページロジックに影響がなければ追加しなくてもいいです.
@Configuration
public class MybatisPlusConfig {

    /**
     *    mybatis-plus    
     * @return
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        PaginationInterceptor page = new PaginationInterceptor();
        page.setDialectType("mysql");
        return page;
    }


}
2.5 Mapperインターフェースは直接定義されていますが、BaseMapper(mybatis-plusが提供するもの)を引き継ぎます.
 public interface ProductMapper extends BaseMapper<Product> {
}
2.6インターフェースを定義してこのServiceImplを実現したいです.ここではServiceImplが提供する方法を直接使用してもいいです.もちろん、xmlファイルに独自に方法を書くこともサポートします.具体的にはmybatis定義と同じです.ここではデモンストレーションをしません.
 @Service
public class ProductServiceImpl  extends ServiceImpl<ProductMapper, Product> implements ProductService {

    @Override
    public ProductVo findById( Long pid) {
       //    mybatis-plus     
        Product product = this.selectById(pid);         
        ProductVo productVo = new ProductVo();
        BeanUtils.copyProperties(product,productVo);
        return productVo;
    }
}
2.7空いているxmlを定義するだけでいいです.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.hyl.study.api.mapper.ProductMapper">


</mapper>
基本的にはこれらでいいです.データベース接続url上では必ずタイムゾーンについていく必要があります.(もちろん時間に誤差があったらバージョンが修復されます.)serverTimezone=GMT%2 B 8はこのプロジェクトの住所を参照してください.https://gitee.com/hylgj/spring-cloud-alibaba-study.git