1、mybatisplus依赖
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.2</version> </dependency> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.22</version> </dependency> <!-- 代码生成器依赖--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.4.1</version> </dependency> <!-- 默認--> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.0</version> </dependency>
2、mybatisplus逆向生成工具
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.DateType; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; import java.util.ArrayList; public class CodeTest { public static void main(String[] args) { //代码生成器 AutoGenerator mpg = new AutoGenerator(); //全局配置 GlobalConfig gc = new GlobalConfig(); String projectPath = System.getProperty("user.dir");//项目路径 gc.setOutputDir(projectPath + "/src/main/java");//生成路径 gc.setAuthor("IJun");//作者 gc.setOpen(false);//是否打开资源管理器 // gc.setSwagger2(true); 实体属性 Swagger2 注解 gc.setServiceName("%sService");//去Service的I前缀 gc.setDateType(DateType.ONLY_DATE); mpg.setGlobalConfig(gc);//自动生成器 //全局配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://localhost:3306/vuetest?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false"); dsc.setDriverName("com.mysql.cj.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("123456"); dsc.setDbType(DbType.MYSQL); mpg.setDataSource(dsc); //包配置 PackageConfig pc = new PackageConfig(); pc.setModuleName("library"); pc.setParent("com.example.vue_test"); pc.setEntity("entity"); pc.setMapper("mapper"); pc.setService("service"); pc.setController("controller"); mpg.setPackageInfo(pc); //策略配置 StrategyConfig strategy = new StrategyConfig(); strategy.setInclude("UserRegister");//表名 strategy.setNaming(NamingStrategy.underline_to_camel); strategy.setColumnNaming(NamingStrategy.underline_to_camel); strategy.setEntityLombokModel(true);//自动生成lombok strategy.setLogicDeleteFieldName("deleted");//逻辑删除 //自动填充 TableFill createtime = new TableFill("createtime", FieldFill.INSERT); TableFill updatetime = new TableFill("updatetime", FieldFill.INSERT_UPDATE); ArrayList<TableFill> tableFills = new ArrayList<>(); tableFills.add(createtime); tableFills.add(updatetime); strategy.setTableFillList(tableFills); mpg.setStrategy(strategy); mpg.execute();//执行 } }
2、mybatisplus自动填充
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.util.Date; @Slf4j @Component public class TimeHandle implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { log.info("用户注册创建时间"); this.setFieldValByName("createtime",new Date(), metaObject); this.setFieldValByName("updatetime",new Date(), metaObject); } @Override public void updateFill(MetaObject metaObject) { log.info("用户注册更新时间"); this.setFieldValByName("updatetime",new Date(), metaObject); } }
3、
原文:https://www.cnblogs.com/JunHello/p/14328660.html