博客
关于我
MyBatisPlus根据数据库自动生成后台包及代码逻辑
阅读量:565 次
发布时间:2019-03-09

本文共 3861 字,大约阅读时间需要 12 分钟。

比较重要的几个配置(代码中有,此处重点突出)

1.代码生成路径

gc.setOutputDir(path+"/src/main/java");//  代码生成路劲

2.声明数据库参数

DataSourceConfig dc=new DataSourceConfig();            dc.setUrl("jdbc:mysql://127.0.0.1:3306/02-tingyu?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai");            // dsc.setSchemaName("public");            dc.setDriverName("com.mysql.jdbc.Driver");            dc.setUsername("root");            dc.setPassword("123456");

3.声明包结构

PackageConfig pc=new PackageConfig();            pc.setParent("com.bjsxt")                    .setMapper("mapper")                    .setService("service")                    .setController("controller")                    .setEntity("pojo")                    .setXml("mapper");

4.是否设置实体类生成格式lombok(完整代码中配置的是生成,若不需要,可以删除)

//5.策略生成            StrategyConfig sc=new StrategyConfig();            sc.setCapitalMode(true) //全局大写命名                .setEntityLombokModel(true)//设置实体类生成格式为lombok                .setNaming(NamingStrategy.underline_to_camel) // 数据库表映射到实体的命名策略                .setTablePrefix("t_")                .setInclude("t_admin" ,                        "t_admin_role" ,                        "t_company" ,                        "t_host" ,                        "t_host_power" ,                        "t_married_person" ,                        "t_menu" ,                        "t_order" ,                        "t_planner" ,                        "t_role" ,                        "t_role_menu"); // 生成的表,多个表继续传递即可,String类型的可变参数

以下是完成代码

//1. 创建代码生成器对象            AutoGenerator auto=new AutoGenerator();        //2.声明全局配置策略            GlobalConfig gc=new GlobalConfig();            String path = System.getProperty("user.dir");//动态获取当前项目的路径            System.out.println(path);            gc.setFileOverride(false);// 是否覆盖同名文件,默认是false            gc.setActiveRecord(true);// 不需要ActiveRecord特性的请改为false            gc.setEnableCache(false);// XML 二级缓存            gc.setBaseResultMap(true);// XML ResultMap            gc.setBaseColumnList(true);// XML columList            gc.setOutputDir(path+"/src/main/java");//  代码生成路劲            gc.setIdType(IdType.AUTO);//设置主键策略        //3.声明数据库参数            DataSourceConfig dc=new DataSourceConfig();            dc.setUrl("jdbc:mysql://127.0.0.1:3306/02-tingyu?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai");            // dsc.setSchemaName("public");            dc.setDriverName("com.mysql.jdbc.Driver");            dc.setUsername("root");            dc.setPassword("123456");        //4.包配置参数            PackageConfig pc=new PackageConfig();            pc.setParent("com.huletian")                    .setMapper("mapper")                    .setService("service")                    .setController("controller")                    .setEntity("pojo")                    .setXml("mapper");        //5.策略生成            StrategyConfig sc=new StrategyConfig();            sc.setCapitalMode(true) //全局大写命名                .setEntityLombokModel(true)//设置实体类生成格式为lombok                .setNaming(NamingStrategy.underline_to_camel) // 数据库表映射到实体的命名策略                .setTablePrefix("t_")                .setInclude("t_admin" ,                        "t_admin_role" ,                        "t_company" ,                        "t_host" ,                        "t_host_power" ,                        "t_married_person" ,                        "t_menu" ,                        "t_order" ,                        "t_planner" ,                        "t_role" ,                        "t_role_menu"); // 生成的表,多个表继续传递即可,String类型的可变参数        //6.将参数对象注入到代码生成器对象中           auto.setGlobalConfig(gc);           auto.setDataSource(dc);           auto.setPackageInfo(pc);           auto.setStrategy(sc);        //7.执行生成            auto.execute();        System.out.println("生成成功");

将代码粘贴到test测试类中执行即可(注意要配置MybatisPlus依赖或者jar)

转载地址:http://rktpz.baihongyu.com/

你可能感兴趣的文章
MYSQL sql语句针对数据记录时间范围查询的效率对比
查看>>
mysql sum 没返回,如果没有找到任何值,我如何在MySQL中获得SUM函数以返回'0'?
查看>>
mysql Timestamp时间隔了8小时
查看>>
Mysql tinyint(1)与tinyint(4)的区别
查看>>
mysql union orderby 无效
查看>>
mysql v$session_Oracle 进程查看v$session
查看>>
mysql where中如何判断不为空
查看>>
MySQL Workbench 使用手册:从入门到精通
查看>>
mysql workbench6.3.5_MySQL Workbench
查看>>
MySQL Workbench安装教程以及菜单汉化
查看>>
MySQL Xtrabackup 安装、备份、恢复
查看>>
mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
查看>>
MySQL _ MySQL常用操作
查看>>
MySQL – 导出数据成csv
查看>>
MySQL —— 在CentOS9下安装MySQL
查看>>
MySQL —— 视图
查看>>
mysql 不区分大小写
查看>>
mysql 两列互转
查看>>
MySQL 中开启二进制日志(Binlog)
查看>>
MySQL 中文问题
查看>>