首页 > 其他分享 >mybatisPlus 逆向工程-通过表格创建实体类

mybatisPlus 逆向工程-通过表格创建实体类

时间:2022-11-02 13:58:48浏览次数:63  
标签:逆向 实体类 mybatisPlus String moduleName new true public scanner

1、引入依赖

  

<!-- SpringBoot集成mybatis-plus框架 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
        </dependency>

 

2、配置数据库,项目路径等

  

public class MybatisPlusCodeGenerator {

    public static void main(String[] args) {
        //
        final String projectPath = System.getProperty("user.dir");
        final String moduleName = scanner("模块名");
        final String tableName = scanner("表名,多个英文逗号分割");
        AutoGenerator mpg = new AutoGenerator()
                .setGlobalConfig(
                        // 全局配置
                        new GlobalConfig()
                                .setOutputDir(projectPath + "/cloud-provider-8001/src/main/java") //项目路径
                                .setFileOverride(true)
                                .setAuthor("junHong") 
                                .setOpen(false)
                                .setBaseResultMap(true)
                                .setBaseColumnList(true)
                ).setDataSource(
                        // 数据源配置
                        new DataSourceConfig()
                                .setUrl("jdbc:mysql://192.168.1.1:3306/db1?useUnicode=true&useSSL=false&characterEncoding=utf8")
                                .setDriverName("com.mysql.cj.jdbc.Driver")
                                .setUsername("自己的数据库用户名")
                                .setPassword("摸吗"))
                .setPackageInfo(
                        // 包配置
                        new PackageConfig()
                                .setParent("com.casaba.provider")
                                .setEntity("domain." + moduleName)
                                .setMapper("mapper." + moduleName)
                                .setService("service." + moduleName)
                                .setServiceImpl("service." + moduleName + ".impl")
                ).setStrategy(
                        // 策略配置
                        new StrategyConfig()
                                .setNaming(underline_to_camel)
                                .setColumnNaming(underline_to_camel)
                                .setSuperEntityClass("com.casaba.provider.domain.BaseDomain")
                                .setSuperEntityColumns(new String[]{"create_at", "update_at"})
                                .setEntityLombokModel(true)
                                .setEntityBooleanColumnRemoveIsPrefix(true)
                                .setEntityTableFieldAnnotationEnable(true)
                                .setInclude(StringUtils.split(tableName, ","))
                                .setTablePrefix("t")
                ).setCfg(
                        // 注入自定义配置,可以在 VM 中使用 cfg.abc 设置的值
                        new InjectionConfig() {
                            @Override
                            public void initMap() {
                            }
                        }.setFileOutConfigList(Collections.singletonList(new FileOutConfig("/templates/mapper.xml.vm") {
                            // 自定义输出文件目录
                            @Override
                            public String outputFile(TableInfo tableInfo) {
                                return projectPath + "/cloud-provider-8001/src/main/resources/mapper/" + moduleName + "/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;
                            }
                        }))
                ).setTemplate(new TemplateConfig()
                        .setController(null)
                        .setXml(null));

        mpg.execute();
    }

    /**
     * <p>
     * 读取控制台内容
     * </p>
     */
    public static String scanner(final String tip) {
        @SuppressWarnings("resource")
        Scanner scanner = new Scanner(System.in);
        StringBuilder help = new StringBuilder();
        help.append("请输入" + tip + ":");
        System.out.println(help.toString());
        if (scanner.hasNext()) {
            String ipt = scanner.next();
            if (StringUtils.isNotEmpty(ipt)) {
                if (StringUtils.equals(ipt, "?")) {
                    return "";
                }
                return ipt;
            }
        }
        return "";
    }
}

 

标签:逆向,实体类,mybatisPlus,String,moduleName,new,true,public,scanner
From: https://www.cnblogs.com/junnnnnnnn/p/16850776.html

相关文章

  • mysql数据库表映射实体类
     分享知识传递快乐JDBC连接数据库;通过配置文件连接数据库;反射指定表生成实体类;反射当前数据库下所有表生成实体类;类名、属性名、get/set方法名都采用驼峰命名类名注释、属......
  • JS逆向-521加速乐+SSl验证
    当我们在采集数据时遇到SSLError验证时,出现以下这种情况。此时我们需要选取加密算法,更改适配器,修改加密算法构造一个适配器后,在request请求中,初始化一个session,将适配器绑......
  • 后端不使用实体类接收前端数据
    方式一前端前端要发送json格式的数据要加上这两句后端要加上两个注解,然后以Map的形式(不唯一)接收数据......
  • 使用Expression代替反射读取IDataReader或IDataRecord给实体类赋值
    ExpressionMapper代码usingSystem;usingSystem.Collections.Concurrent;usingSystem.Collections.Generic;usingSystem.Data;usingSystem.Data.Common;usingSystem.Li......
  • DataTable与实体类的转换
    一、实现DataTable与实体类转换1/***2*Title:"数据采集"项目3*主题:表和实体帮助类4*Description:5*功能:6*1......
  • 安卓逆向 IDA 静态调试分析
    1.找到我们分析的接口  2.F5进入C伪代码修正一下参数,IDA无法正常识别jstring__fastcallJava_com_example_sfs_MainActivity_getText(JNIEnv*a1){return(*......
  • MybatisPlus实现逻辑删除
    逻辑删除:在表中设计一个标志位,约定0表示删除,1表示存在实现办法1.在表中添加标志位2.在该表对应的实体类中的属性上面,加上注解@TbaleLogic该注解默认0......
  • 发现mybatisplus#Wrapper的一个坑
    什么坑?看如下demo代码:publicvoidgetOne(){LambdaQueryWrapper<SbhPlatOrder>wrappers=newLambdaQueryWrapper<>();wrappers.eq(SbhPlatOrd......
  • eclipse自动生成实体类
    可以根据下面的步骤让eclipse自动生成实体类,这样可以大大提高开发的效率:1,显示标签datasourceexplorer:2,选中databaseconnection,右键new:3,在弹出框中选择自己目......
  • 判断一个实体类entity对象是否为空
    /***判断实体对象是否为空*@paramobjectentity对象*@returnboolean*/publicstaticbooleancheckObjAllFieldsIsNull(Objectobject){//如果对象为null直接......