package com.example.demo.mp;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created by Administrator on 2020/2/21.
* 自动生成代码
*/
public class MpGenerator {
/**
* <p>
* MySQL 生成演示
* </p>
*/
public static void main(String[] args) {
AutoGenerator mpg = new AutoGenerator();
// 选择 freemarker 引擎,默认 Veloctiy
//mpg.setTemplateEngine(new FreemarkerTemplateEngine());
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir("F://");
gc.setFileOverride(true);
gc.setActiveRecord(true);// 不需要ActiveRecord特性的请改为false
gc.setEnableCache(false);// XML 二级缓存
gc.setBaseResultMap(true);// XML ResultMap
gc.setBaseColumnList(false);// XML columList
// .setKotlin(true) 是否生成 kotlin 代码
gc.setAuthor("shijunjun");
// 自定义文件命名,注意 %s 会自动填充表实体属性!
// gc.setMapperName("%sDao");
// gc.setXmlName("%sDao");
// gc.setServiceName("MP%sService");
// gc.setServiceImplName("%sServiceDiy");
// gc.setControllerName("%sAction");
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDbType(DbType.MYSQL);
dsc.setTypeConvert(new MySqlTypeConvert(){
// 自定义数据库表字段类型转换【可选】
@Override
public DbColumnType processTypeConvert(String fieldType) {
System.out.println("转换类型:" + fieldType);
// 注意!!processTypeConvert 存在默认类型转换,如果不是你要的效果请自定义返回、非如下直接返回。
return super.processTypeConvert(fieldType);
}
});
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("123456");
dsc.setUrl("jdbc:mysql://127.0.0.1:3306/mianguan?characterEncoding=utf8");
mpg.setDataSource(dsc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
// strategy.setCapitalMode(true);// 全局大写命名 ORACLE 注意
//strategy.setTablePrefix(new String[] { "abc_" });// 此处可以修改为您的表前缀
strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
strategy.setInclude(new String[] { "permission" }); // 需要生成的表
// strategy.setExclude(new String[]{"test"}); // 排除生成的表
// 自定义实体父类
// strategy.setSuperEntityClass("com.baomidou.demo.TestEntity");
// 自定义实体,公共字段
// strategy.setSuperEntityColumns(new String[] { "test_id", "age" });
// 自定义 mapper 父类
// strategy.setSuperMapperClass("com.baomidou.demo.TestMapper");
// 自定义 service 父类
// strategy.setSuperServiceClass("com.baomidou.demo.TestService");
// 自定义 service 实现类父类
// strategy.setSuperServiceImplClass("com.baomidou.demo.TestServiceImpl");
// 自定义 controller 父类
// strategy.setSuperControllerClass("com.baomidou.demo.TestController");
// 【实体】是否生成字段常量(默认 false)
// public static final String ID = "test_id";
strategy.setEntityColumnConstant(true);
//\ 【实体】是否为构建者模型(默认 false)
// public User setName(String name) {this.name = name; return this;}
strategy.setEntityBuilderModel(true);
mpg.setStrategy(strategy);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setParent("com.example.demo");
pc.setModuleName("");
mpg.setPackageInfo(pc);
// // 注入自定义配置,可以在 VM 中使用 cfg.abc 【可无】
InjectionConfig cfg = new InjectionConfig() {
@Override
public void initMap() {
Map<String, Object> map = new HashMap<String, Object>();
map.put("abc", this.getConfig().getGlobalConfig().getAuthor() + "-mp");
this.setMap(map);
}
};
//
// // 自定义 xxList.jsp 生成
List<FileOutConfig> focList = new ArrayList<FileOutConfig>();
// focList.add(new FileOutConfig("/template/list.jsp.vm") {
// @Override
// public String outputFile(TableInfo tableInfo) {
// // 自定义输入文件名称
// return "F://my_" + tableInfo.getEntityName() + ".jsp";
// }
// });
// cfg.setFileOutConfigList(focList);
// mpg.setCfg(cfg);
//
// 调整 xml 生成目录演示
focList.add(new FileOutConfig("/templates/mapper.xml.vm") {
@Override
public String outputFile(TableInfo tableInfo) {
return "/com/example/demo/xml/" + tableInfo.getEntityName() + ".xml";
}
});
cfg.setFileOutConfigList(focList);
mpg.setCfg(cfg);
// 关闭默认 xml 生成,调整生成 至 根目录
// TemplateConfig tc = new TemplateConfig();
// tc.setXml(null);
// mpg.setTemplate(tc);
// 自定义模板配置,可以 copy 源码 mybatis-plus/src/main/resources/templates 下面内容修改,
// 放置自己项目的 src/main/resources/templates 目录下, 默认名称一下可以不配置,也可以自定义模板名称
// TemplateConfig tc = new TemplateConfig();
// tc.setController("...");
// tc.setEntity("...");
// tc.setMapper("...");
// tc.setXml("...");
// tc.setService("...");
// tc.setServiceImpl("...");
// 如上任何一个模块如果设置 空 OR Null 将不生成该模块。
// mpg.setTemplate(tc);
// 执行生成
mpg.execute();
// 打印注入设置【可无】
// System.err.println(mpg.getCfg().getMap().get("abc"));
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
springboot+shiro+mybatis-plus纯净版框架(附带所需数据库sql)
共142个文件
xml:105个
java:28个
properties:2个
5星 · 超过95%的资源 需积分: 43 52 下载量 16 浏览量
2020-02-22
15:57:52
上传
评论 3
收藏 120KB RAR 举报
温馨提示
springboot框架 shiro实现了简易版的控制登录和角色权限 mybatis-plus实现了简易版的controller,service,mapper自动生成和分页 在com.example.demo.mp.MpGenerator直接执行main方法 备注:生成的mapper需要手动加上注解@Mapper,否则会报错 整个框架属于纯净版,没有过多的废代码,可以拿来即用,方便快捷。
资源推荐
资源详情
资源评论
收起资源包目录
springboot+shiro+mybatis-plus纯净版框架(附带所需数据库sql) (142个子文件)
mvnw.cmd 6KB
.gitignore 333B
demo.iml 11KB
maven-wrapper.jar 50KB
MpGenerator.java 7KB
ShiroConfiguration.java 6KB
MavenWrapperDownloader.java 5KB
MybatisPlusConfig.java 3KB
UserRealm.java 3KB
Income.java 2KB
IncomeController.java 1KB
UserController.java 1KB
Permission.java 1KB
User.java 1KB
UserServiceImpl.java 1011B
Role.java 977B
PermissionServiceImpl.java 508B
IncomeServiceImpl.java 488B
RoleServiceImpl.java 466B
PermissionMapper.java 338B
IncomeMapper.java 336B
PermissionController.java 325B
test.java 323B
UserMapper.java 320B
RoleMapper.java 320B
RoleController.java 313B
DemoApplication.java 305B
IUserService.java 295B
IPermissionService.java 282B
IIncomeService.java 279B
IRoleService.java 264B
DemoApplicationTests.java 206B
HELP.md 432B
mvnw 10KB
application.properties 233B
maven-wrapper.properties 218B
mianguan.sql 33KB
workspace.xml 60KB
uiDesigner.xml 9KB
pom.xml 3KB
misc.xml 873B
Maven__org_springframework_boot_spring_boot_starter_validation_2_2_4_RELEASE.xml 769B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_2_4_RELEASE.xml 769B
Maven__org_springframework_boot_spring_boot_starter_logging_2_2_4_RELEASE.xml 748B
Maven__org_springframework_boot_spring_boot_starter_tomcat_2_2_4_RELEASE.xml 741B
Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_10_2.xml 736B
Maven__org_springframework_boot_spring_boot_autoconfigure_2_2_4_RELEASE.xml 734B
Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_1_1_1.xml 730B
Maven__org_springframework_boot_spring_boot_starter_test_2_2_4_RELEASE.xml 727B
Maven__org_springframework_boot_spring_boot_starter_jdbc_2_2_4_RELEASE.xml 727B
Maven__org_springframework_boot_spring_boot_starter_json_2_2_4_RELEASE.xml 727B
Maven__org_springframework_boot_spring_boot_starter_web_2_2_4_RELEASE.xml 720B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 700B
Maven__org_springframework_boot_spring_boot_devtools_2_2_4_RELEASE.xml 699B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_10_2.xml 695B
ehcache-shiro.xml 693B
Maven__org_springframework_boot_spring_boot_starter_2_2_4_RELEASE.xml 692B
Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_1_1_1.xml 688B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_10_2.xml 681B
Maven__org_hibernate_validator_hibernate_validator_6_0_18_Final.xml 681B
Maven__org_springframework_boot_spring_boot_test_2_2_4_RELEASE.xml 671B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_30.xml 660B
Maven__org_springframework_spring_expression_5_2_3_RELEASE.xml 658B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_10_2.xml 651B
Maven__org_springframework_spring_context_5_2_3_RELEASE.xml 637B
Maven__org_springframework_boot_spring_boot_2_2_4_RELEASE.xml 636B
Maven__jakarta_validation_jakarta_validation_api_2_0_2.xml 633B
Maven__jakarta_activation_jakarta_activation_api_1_2_1.xml 633B
Maven__org_junit_platform_junit_platform_commons_1_5_2.xml 633B
Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml 633B
Maven__com_fasterxml_jackson_core_jackson_databind_2_10_2.xml 630B
Maven__org_springframework_spring_webmvc_5_2_3_RELEASE.xml 630B
Maven__org_junit_platform_junit_platform_engine_1_5_2.xml 626B
Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_30.xml 625B
Maven__org_springframework_spring_beans_5_2_3_RELEASE.xml 623B
compiler.xml 620B
Maven__org_springframework_spring_jdbc_5_2_3_RELEASE.xml 616B
Maven__org_springframework_spring_core_5_2_3_RELEASE.xml 616B
Maven__org_springframework_spring_test_5_2_3_RELEASE.xml 616B
Maven__commons_collections_commons_collections_3_2_2.xml 616B
Maven__org_junit_jupiter_junit_jupiter_params_5_5_2.xml 615B
Maven__org_junit_jupiter_junit_jupiter_engine_5_5_2.xml 615B
Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_2.xml 611B
Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_30.xml 611B
Maven__org_springframework_spring_jcl_5_2_3_RELEASE.xml 609B
Maven__org_apache_velocity_velocity_engine_core_2_0.xml 609B
Maven__org_springframework_spring_web_5_2_3_RELEASE.xml 609B
Maven__org_springframework_spring_aop_5_2_3_RELEASE.xml 609B
Maven__org_apache_logging_log4j_log4j_to_slf4j_2_12_1.xml 608B
Maven__org_jboss_logging_jboss_logging_3_4_1_Final.xml 608B
Maven__org_apache_shiro_shiro_crypto_cipher_1_4_0.xml 604B
Maven__org_springframework_spring_tx_5_2_3_RELEASE.xml 602B
Maven__com_fasterxml_jackson_core_jackson_core_2_10_2.xml 602B
Maven__org_mockito_mockito_junit_jupiter_3_1_0.xml 598B
Maven__commons_beanutils_commons_beanutils_1_9_3.xml 594B
Maven__org_junit_jupiter_junit_jupiter_api_5_5_2.xml 594B
Maven__org_apache_shiro_shiro_config_core_1_4_0.xml 590B
Maven__org_apache_shiro_shiro_config_ogdl_1_4_0.xml 590B
Maven__org_apache_shiro_shiro_crypto_core_1_4_0.xml 590B
Maven__org_apache_shiro_shiro_crypto_hash_1_4_0.xml 590B
共 142 条
- 1
- 2
资源评论
- 程序员大本营2023-11-10框架不错!
u011066516
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功