mybatis-plus生成模板
<!-- mybatis 依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.10</version>
</dependency>
<!-- mybatis启动依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<!-- mybatis 模板生成方法-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.1</version>
</dependency>
<!-- mysql数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- 模板文件-->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
package com.demo;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.po.TableFill;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import java.util.ArrayList;
import java.util.List;
/**
* @version 1.0
* @Author
* @Date :2024/7/7 17:24
*/
public class MPGenerator {
public static void main(String[] args) {
AutoGenerator autoGenerator = new AutoGenerator();
// 数据源配置
DataSourceConfig dataSourceConfig = new DataSourceConfig();
// 设置数据源类型
dataSourceConfig.setDbType( DbType.MYSQL );
assembleDev( dataSourceConfig );
autoGenerator.setDataSource(dataSourceConfig);
// 设置全局配置
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setOpen( false );
// 设置文件生成的路径
// System.getProperty( "user.dir" ) 当前目录所在的路径
globalConfig.setOutputDir( System.getProperty( "user.dir" ) + "/src/main/java/com/demo/user" );
globalConfig.setAuthor( "" );
globalConfig.setServiceImplName( "%sServiceImpl" );
autoGenerator.setGlobalConfig( globalConfig );
PackageConfig pkgConfig = new PackageConfig();
// 包路径
pkgConfig.setParent( "com.demo" );
pkgConfig.setController( "controller" );
pkgConfig.setService( "service" );
pkgConfig.setEntity( "domain.entry" );
pkgConfig.setMapper( "mapper" );
pkgConfig.setXml( "mapper" );
pkgConfig.setServiceImpl( "service.impl" );
autoGenerator.setPackageInfo( pkgConfig );
// 策略配置
StrategyConfig strategy = new StrategyConfig();
// 是否使用Lombok
strategy.setEntityLombokModel( true );
// 是否使用驼峰命名
strategy.setNaming( NamingStrategy.underline_to_camel );
strategy.setColumnNaming( NamingStrategy.underline_to_camel );
strategy.setEntityTableFieldAnnotationEnable( true );
// 设置的表名,如果不是设置或者设置空数组,那么生成的是所有表
// strategy.setInclude( "user" );
// 自动填充字段
List<TableFill> list = new ArrayList<>();
TableFill tableFill = new TableFill( "create_time", FieldFill.INSERT );
TableFill tableFill1 = new TableFill( "update_time", FieldFill.INSERT_UPDATE );
list.add( tableFill );
list.add( tableFill1 );
autoGenerator.setStrategy( strategy );
//执行
autoGenerator.execute();
}
private static void assembleDev(DataSourceConfig dataSourceConfig) {
// 注意区分数据库版本,cj
dataSourceConfig.setDriverName( "com.mysql.cj.jdbc.Driver" );
// 设置数据库名称和密码
dataSourceConfig.setUsername( "root" );
dataSourceConfig.setPassword( "" );
dataSourceConfig.setUrl( "jdbc:mysql://localhost:3306/mall?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai&allowMultiQueries=true" );
}
}
注意:如果配置idea链接数据库下载插件超时异常:需要配置http代理
1、需要将LocalDateTime换成Date
2、将xml移东到resource目录下+
3.在启动类上加上@MapperScan(basePackages = “”)