Spring-boot整合mybatis-plus

pom文件需要添加的依赖:

  <dependency>
        <groupId>com.baomidou</groupId> 
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>2.3</version> 
   </dependency> 
  <!-- velocity 依赖,用于代码生成 --> 
  <dependency> 
      <groupId>org.apache.velocity</groupId> 
      <artifactId>velocity-engine-core</artifactId> 
      <version>2.0</version> 
  </dependency> 

xml文件放在了resource根目录下
application.properties配置文件添加xml和实体类扫描:

mybatis-plus.mapper-locations=classpath:/mybatis/*.xml 
mybatis-plus.typeAliasesPackage=cn.com.polycis.entity 
//数据库字段下划线转驼峰 
mybatis-plus.configuration.map-underscore-to-camel-case=true

MybatisPlusConfig配置文件:

import com.baomidou.mybatisplus.plugins.PaginationInterceptor; 
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; 
@Configuration 
//扫描dao或者是Mapper接口
@MapperScan("cn.com.polycis.mapper*") 
public class MybatisPlusConfig { 
       /** * mybatis-plus 分页插件 */ 
      @Bean 
      public PaginationInterceptor paginationInterceptor() { 
            PaginationInterceptor page = new PaginationInterceptor(); 
            page.setLocalPage(true);
           // 开启 PageHelper 的支持
           page.setDialectType("mysql"); 
           return page;
       } 
  } 

启动类需要添加mapper扫描注解:

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; 
import org.springframework.context.annotation.PropertySource; 
@PropertySource("application.properties") 
@MapperScan("cn.com.polycis.mapper") 
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class}) 
public class OtaApplication { 
         public static void main(String[] args) {
                  SpringApplication.run(OtaApplication.class, args);
        } 
 }

代码生成器文件

package cn.com.polycis; 
import com.baomidou.mybatisplus.generator.AutoGenerator; 
import com.baomidou.mybatisplus.generator.InjectionConfig; 
import com.baomidou.mybatisplus.generator.config.*; 
import com.baomidou.mybatisplus.generator.config.po.TableInfo; 
import com.baomidou.mybatisplus.generator.config.rules.DbType; 
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; 
import org.junit.Test; 
import java.util.Collections; import java.util.HashMap; 
import java.util.Map;
/**
 * <p>
 * 测试生成代码
 * </p>
 *
 * @author
 * @date 2018/11/28
 */
 public class GeneratorServiceEntity { 
        @Test 
        public void generateCode() { 
               String packageName = "cn.com.polycis"; 
               boolean serviceNameStartWithI = true;
               //user -> UserService, 设置成true: user -> IUserService
               generateByTables(serviceNameStartWithI, packageName, "lo_app_info", "lo_device_info"); 
         }
         private void generateByTables(boolean serviceNameStartWithI, String packageName, String... tableNames) { 
               GlobalConfig config = new GlobalConfig(); 
               String dbUrl = "jdbc:mysql://xxxxx:3306/lora_level2"; 
               DataSourceConfig dataSourceConfig = new DataSourceConfig(); 
               dataSourceConfig.setUrl(dbUrl); 
               dataSourceConfig.setDbType(DbType.MYSQL);
               dataSourceConfig.setUsername("xxxx");
               dataSourceConfig.setPassword("xxxxx");   
               dataSourceConfig.setDriverName("com.mysql.jdbc.Driver"); 
               StrategyConfig strategyConfig = new StrategyConfig();
               strategyConfig.setCapitalMode(true); ///全局大写命名 
               strategyConfig.setEntityLombokModel(false); // 【实体】是否为lombok模型(默认 false) 
               strategyConfig.setDbColumnUnderline(true); //数据库表字段采用下划线的 
               strategyConfig.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略 
               strategyConfig.setInclude(tableNames);//修改替换成你需要的表名,多个表名传数组 
               strategyConfig.setTablePrefix(new String[]{"lo_", ""});// 此处可以修改为您的表前缀 // 
               strategyConfig.entityTableFieldAnnotationEnable(true);//生成实体类属性的对应数据库字段注解 
               config.setActiveRecord(false); config.setOutputDir("D:\\ttttt\\lorawan-ota\\src\\main\\java"); 
               config.setFileOverride(true);
               if (!serviceNameStartWithI) {
                    config.setServiceName("%sService");
               }
               new AutoGenerator().setGlobalConfig(config) 
                          .setDataSource(dataSourceConfig) 
                          .setStrategy(strategyConfig) 
                          .setPackageInfo( new PackageConfig() .
                                         .setParent(packageName) 
                                         .setController("controller") 
                                         .setEntity("entity")
                            ) 
                          .setCfg( 
                                   // 注入自定义配置,可以在 VM 中使用 cfg.abc 设置的值 new InjectionConfig() { 
                                   @Override 
                                   public void initMap() { 
                                      Map<String, Object> map = new HashMap<>(); 
                                      map.put("abc", this.getConfig().getGlobalConfig().getAuthor() + "-mp"); this.setMap(map); 
                                   } 
                                }.setFileOutConfigList(Collections.<FileOutConfig>singletonList(new FileOutConfig("/templates/mapper.xml.vm")
                                 { // 自定义输出文件目录 
                                 @Override 
                                 public String outputFile(TableInfo tableInfo) { 
                                     return "D:/ttttt/lorawan-ota"+"/src/main/resources/mybatis/" + tableInfo.getEntityName() + "Mapper.xml";
                                   } 
                               }))
                       ).execute();
          } 
          private void generateByTables(String packageName, String... tableNames) {
                      generateByTables(true, packageName, tableNames);                 
          }
 }



至此mybatis-plus整合完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值