概述
1:导入依赖
代码生成器依赖,和模板依赖
<!--代码生生成器依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.1</version>
</dependency>
<!--代码生成器模板引擎依赖 (导入MP默认引擎)-->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
2:编写代码生成器主类
package com.scs;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
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.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
/**
* 生成代码的主类
*/
public class CodeGenerator {
public static void main(String[] args) {
// 1、创建代码生成器
AutoGenerator generator = new AutoGenerator();
// 2、全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir(System.getProperty("user.dir")+ "/src/main/java");//指定输出目录 "user.dir" 用户当前工作目录
gc.setOpen(false); //生成后是否打开资源管理器
gc.setAuthor("zjr");// 设置作者名
gc.setFileOverride(true); //重新生成时文件是否覆盖
gc.setMapperName("%sDao");//设置数据层接口名
gc.setIdType(IdType.AUTO); //主键策略(自增)
gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型
generator.setGlobalConfig(gc);
// 3、数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql:///scs?useSSL=false");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("zjr010615");
dsc.setDbType(DbType.MYSQL);
generator.setDataSource(dsc);
// 4、包配置
PackageConfig pc = new PackageConfig();
pc.setParent("com.scs");//设置父包
pc.setController("controller");//控制层包名
pc.setEntity("domain");//设置实体类包名
pc.setService("service");//服务层包名
pc.setMapper("dao");//数据层包名
generator.setPackageInfo(pc);
// 5、策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀
strategy.setRestControllerStyle(true); //restful api风格控制器
strategy.setEntityLombokModel(true); //实体类使用lombok
strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符
strategy.setVersionFieldName("version");//设置乐观锁
strategy.setLogicDeleteFieldName("log_delete");//逻辑删除
strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略(下划线转驼峰)
/* strategy.setInclude("student");//设置当前参与生成的表名*/
generator.setStrategy(strategy);
// 6、执行
generator.execute();
}
}
3:启动类扫描数据层接口
package com.scs;
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@Slf4j
@SpringBootApplication
@MapperScan("com.scs.dao")//扫描数据层接口 dao
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
log.info("项目启动成功");
}
}
4:配置application.yml文件数据库信息
server:
port: 8080
#应用名称
spring:
application:
name: scs
datasource:
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/数据库名称?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: 用户名
password: 密码
mybatis-plus:
configuration:
#在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射
map-underscore-to-camel-case: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config:
db-config:
id-type: AUTO
启动
最后
以上就是小巧可乐为你收集整理的MybatisPlus代码生成器使用步骤的全部内容,希望文章能够帮你解决MybatisPlus代码生成器使用步骤所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复