博客
关于我
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学习总结(76)——MySQL执行计划(explain)结果含义总结
查看>>
Mysql学习总结(77)——温故Mysql数据库开发核心原则与规范
查看>>
Mysql学习总结(78)——MySQL各版本差异整理
查看>>
Mysql学习总结(79)——MySQL常用函数总结
查看>>
Mysql学习总结(7)——MySql索引原理与使用大全
查看>>
Mysql学习总结(80)——统计数据库的总记录数和库中各个表的数据量
查看>>
Mysql学习总结(81)——为什么MySQL不推荐使用uuid或者雪花id作为主键?
查看>>
Mysql学习总结(82)——MySQL逻辑删除与数据库唯一性约束如何解决?
查看>>
Mysql学习总结(83)——常用的几种分布式锁:ZK分布式锁、Redis分布式锁、数据库分布式锁、基于JDK的分布式锁方案对比总结
查看>>
Mysql学习总结(84)—— Mysql的主从复制延迟问题总结
查看>>
Mysql学习总结(85)——开发人员最应该明白的数据库设计原则
查看>>
Mysql学习总结(8)——MySql基本查询、连接查询、子查询、正则表达查询讲解
查看>>
Mysql学习总结(9)——MySql视图原理讲解与使用大全
查看>>
MySQL学习笔记十七:复制特性
查看>>
Mysql学习第一课-mysql的定义及sql语句
查看>>
mysql安全模式: sql_safe_updates
查看>>
mysql安装,卸载,连接
查看>>
MySQL安装之没有配置向导
查看>>
mysql安装出现 conflicts with mysql*的解决办法
查看>>
mysql安装卡在最后一步解决方案(附带万能安装方案)
查看>>