第十一章 附 Spring Cloud alibaba 集成 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 在yml文件中 加入配置

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%2B8
可以参考这个项目地址:https://gitee.com/hylgj/spring-cloud-alibaba-study.git

你可能感兴趣的:(spring,cloud,Alibab)