• springboot项目集成mybatisplus两部曲


    MyBatis-Plus(简称 MP),号称为简化开发、提高效率而生。是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变。相比其他mybatis增强工具,如tk-mybatis,使用起来更顺手。

    §1/3 安装

    §1.1 jar包依赖

            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>3.1.2</version>
            </dependency>

    §1.2其他相关包

    当然, 我们通常用mysql数据库,所以自然要依赖mysql连接驱动包。其他的比较重要的依赖还有lombok等。

            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.17</version>
                <scope>runtime</scope>
            </dependency>

    §2/3 配置

    §2.1 application.yml中mp配置:

    mybatis-plus:
      # sqlmapper xml文件所在位置(Locations of MyBatis mapper files.)  不过,话说,用mp,单表操作基本上就告别mybatis那些传统的mapper.xml文件了。
      mapper-locations: classpath*:com/umpsys/web/modules/**/xml/*Mapper.xml
      global-config:
        db-config:
          id-type: auto
          field-strategy: not_empty
          #驼峰下划线转换
          column-underline: true
          #逻辑删除配置
          logic-delete-value: 0
          logic-not-delete-value: 1
          db-type: mysql
        refresh: false
      configuration:
        map-underscore-to-camel-case: true
        cache-enabled: false
        # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
        log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

    数据库配置用jdbc:

    spring:
      datasource:
        url: jdbc:mysql://192.168.40.22:3306/mptest?characterEncoding=utf-8&serverTimezone=Asia/Shanghai
        username: root
        password: ***

    §2.2 声明@MapperScan

    定义名为MybatisPlusConfig的bean,主要是用@MapperScan注解定义扫描Mapper类所在的package。

    当然,没有这个bean也行,那就要在springboot启动类加上这个@MapperScan注解。

    【注:】包路径支持*通配符,例如:@MapperScan(value={"com.longwms.webapp.modules.**.mapper*"})

    package com.umpsys.web.util;
    
    import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    /**
     * @Author zhoujf
     *
     */
    @Configuration
    @MapperScan(value={"com.umpsys.web.mapper"})
    public class MybatisPlusConfig {
    
        /**
             *  分页插件
         */
        @Bean
        public PaginationInterceptor paginationInterceptor() {
            // 设置sql的limit为无限制,默认是500
            return new PaginationInterceptor().setLimit(-1);
        }
        
    //    /**
    //     * mybatis-plus SQL执行效率插件【生产环境可以关闭】
    //     */
    //    @Bean
    //    public PerformanceInterceptor performanceInterceptor() {
    //        return new PerformanceInterceptor();
    //    }
        
       
    }
    View Code

    如上,完成了mybatisplus的初始化。

    另外,Mybatisplus还有自己的注解,如@TableName、@TableId(IdType)。my强大之处在于对lambda表达式的支持。参见MyBatis-Plus官方文档: https://mybatis.plus/guide

    mp的官网域名原来是https://mp.baomidou.com/,后来有网友捐赠了同名域名mybaits.plus,更契合了mybatis-plus这个名字,真是天作之合!

    接下来,就可以使用了。

    用mp逆向工程可以生成一个数据表对应的实体PO类、Mapper类。

    package com.umpsys.web.mapper;
    
    import com.baomidou.mybatisplus.core.mapper.BaseMapper;
    import com.umpsys.web.entity.BankType;
    //import tk.mybatis.mapper.common.Mapper;
    
    /**
     * 描    述:
     * <p>
     * 创 建 者: gz.zhang
     * 创建时间: 2019-9-9 19:33:13
     * 创建描述:
     */
    //public interface BankTypeMapper extends Mapper<BankType> {
    public interface BankTypeMapper extends BaseMapper<BankType> {
    }
    View Code

    测试用例:

    package com.umpsys.web.mapper;
    
    import com.umpsys.web.entity.BankType;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    
    import java.util.List;
    
    @SpringBootTest
    @RunWith(SpringRunner.class)
    public class BankTypeMapperTest {
    
        @Autowired
        private BankTypeMapper bankTypeMapper;
    
        @Test
        public void list(){
            List<BankType> bankTypes = bankTypeMapper.selectList(null);
            System.out.println(bankTypes.size());
        }
    }
    View Code

    ▄︻┻┳═一参阅:

    ▄︻┻┳═一SpringBoot项目里,让TKmybatis支持可以手写sql的Mapper.xml文件

    ▄︻┻┳═一springboot项目集成mybatisplus两部曲

  • 相关阅读:
    Java当中的IO
    Java当中的类集框架
    Java当中的JVM
    Java当中的常量池
    详细讲解String和StringBuffer和StringBuilder的使用
    Java中流的操作以及编码解码
    VMware-workstation12.5.6 新建虚拟机 安装 centos6.5
    linux 常用命令
    macos 下安装brew
    mysql 的一些事
  • 原文地址:https://www.cnblogs.com/buguge/p/12539637.html
Copyright © 2020-2023  润新知