如何利用小游戏调试工具提升小程序开发效率,提升开发效率与合规性
1108
2022-10-07
mybatis plus自动生成代码的示例代码
写一个简单的mybatis plus插件自动生成代码的例子
pom.xml 添加配置
添加生成代码配置
package com.home.base.gen;/**
* @author chenxf
* @date 2022/5/5 15:00
*/
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.fill.Column;
import com.baomidou.mybatisplus.generator.fill.Property;
import com.home.base.entity.BaseEntity;
import com.home.base.rest.BaseRestController;
import java.util.Collections;
/**
* @author chenxf
* @date 2022/5/5 15:00
*/
public class MybatisPlusGen {
public static void main(String[] args){
FastAutoGenerator
.create("jdbc:mysql://127.0.0.1:3306/policy_job?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF8", "root", "123456")
.globalConfig(builder -> {
.fileOverride()
//.enableSwagger() // 开启 swagger 模式
.outputDir("D://gen//java//"); // 指定输出目录
})
.packageConfig(builder -> {
builder.parent("com.home") // 设置父包名
.moduleName("system") // 设置父包模块名
.controller("rest")//controller 改名 rest
nLmCP.pathInfo(Collections.singletonMap(OutputFile.xml, "D://gen//resources//mapper")); // 设置mapperXml生成路径
})
.templateConfig(builder -> {
builder.entity("/templates/entity.java")
.controller("/templates/controller.java");
})
.strategyConfig(builder -> {
builder.addInclude("test_test")
.entityBuilder().superClass(BaseEntity.class)
.disableSerialVersionUID()
.enableChainModel()
.enableLombok()
.enableRemoveIsPrefix()
.enableTableFieldAnnotation()
.logicDeleteColumnName("deleted")
.logicDeletePropertyName("deleteFlag")
.addSuperEntityColumns("id", "create_by","deleted", "create_time", "update_by", "update_time")
.addTableFills(new Column("create_time", FieldFill.INSERT))
.addTableFills(new Property("updateTime", FieldFill.INSERT_UPDATE))
.idType(IdType.AUTO)
.formatFileName("%sEntity").build()
.controllerBuilder()
.superClass(BaseRestController.class)
.enableRestStyle()
.formatFileName("%sApiController")
.build()
; // 设置需要生成的表名
// .addTablePrefix("t_", "c_"); // 设置过滤表前缀
})
// .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}
修改内容
entity使用了BaseEntity,添加了 id、deleted、createTime、updateTime、createBy、updateBy等公共字段controller使用了BaseRestControllertips:可以直接把代码生成在对应的工作目录
把生成的代码拷至对应的工作目录添加创建时间、修改时间自动填充配置
package com.home.component;/**
* @author chenxf
* @date 2022/5/6 15:57
*/
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
/**
* @author chenxf
* @date 2022/5/6 15:57
*/
@Slf4j
@Component
publicnLmCP class BaseHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
log.info("start insert fill ....");
this.fillStrategy(metaObject, "createTime", LocalDateTime.now());
this.fillStrategy(metaObject, "updateTime", LocalDateTime.now());
//TODO set createBy
}
@Override
public void updateFill(MetaObject metaObject) {
log.info("start update fill ....");
this.fillStrategy(metaObject, "updateTime", LocalDathttp://eTime.now());
//TODO set updateBy
}
}
启动 测试
访问swagger测试相应接口http://127.0.0.1:10089/doc.html
参考资料https://baomidou.com/pages/24112f/
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~