第十一章Spring Cloud alibababaを添付してmybatisplusを集積します.
1:mybatisplus名前から見ると、実はmybatisの強化版が私達のためにいくつかの方法をカプセル化してxmlを書くことを省きました.具体的にはここで詳しく紹介しないで、直接コードをつけます.2.1:pomに依存を導入します.
mybatis-plus
<!--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