参考Ibase4j 

          1.首先在pom中引用mybatis-plus jar

  
</dependency>
<!-- mybatis -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>  

2.编写

    Generator类编写 如下
package org;

import java.util.HashMap;
import java.util.Map; import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
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.TemplateConfig;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; /**
* 代码生成 注意:不生成service接口 注意:不生成service接口 注意:不生成service接口
*
* @author ShenHuaJie
*/
public class Generator {
/**
* 测试 run 执行 注意:不生成service接口 注意:不生成service接口 注意:不生成service接口
* <p>
* 配置方法查看 {@link ConfigGenerator}
* </p>
*/
public static void main(String[] args) {
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir("D://");
gc.setFileOverride(false);
gc.setActiveRecord(false);
gc.setEnableCache(false);// XML 二级缓存
gc.setBaseResultMap(false);// XML ResultMap
gc.setBaseColumnList(false);// XML columList
gc.setOpen(false);
gc.setAuthor("ShenHuaJie");
// 自定义文件命名,注意 %s 会自动填充表实体属性!
// gc.setMapperName("%sDao");
// gc.setXmlName("%sDao");
gc.setServiceImplName("%sService");
// gc.setServiceImplName("%sServiceDiy");
// gc.setControllerName("%sAction");
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDbType(DbType.MYSQL);
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("root");
dsc.setUrl("jdbc:mysql://127.0.0.1:3306/iBase4J?characterEncoding=utf8");
mpg.setDataSource(dsc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
// strategy.setTablePrefix("sys_");// 此处可以修改为您的表前缀
strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
strategy.setInclude(new String[] { "sys_test" }); // 需要生成的表
// strategy.setExclude(new String[]{"test"}); // 排除生成的表
// 字段名生成策略
strategy.setFieldNaming(NamingStrategy.underline_to_camel);
// 自定义实体父类
strategy.setSuperEntityClass("org.ibase4j.core.base.BaseModel");
// 自定义实体,公共字段
strategy.setSuperEntityColumns(
new String[] { "id_", "enable_", "remark_", "create_by", "create_time", "update_by", "update_time" });
// 自定义 mapper 父类
strategy.setSuperMapperClass("org.ibase4j.core.base.BaseMapper");
// 自定义 service 父类
strategy.setSuperServiceImplClass("org.ibase4j.core.base.BaseService");
// 自定义 service 实现类父类
// strategy.setSuperServiceImplClass("org.ibase4j.core.base.BaseService");
// 自定义 controller 父类
strategy.setSuperControllerClass("org.ibase4j.core.base.AbstractController");
// 【实体】是否生成字段常量(默认 false)
// public static final String ID = "test_id";
// strategy.setEntityColumnConstant(true);
// 【实体】是否为构建者模型(默认 false)
// public User setName(String name) {this.name = name; return this;}
// strategy.setEntityBuliderModel(true);
mpg.setStrategy(strategy);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setParent("org.ibase4j");
pc.setEntity("model");
pc.setMapper("mapper");
pc.setXml("mapper.xml");
pc.setServiceImpl("service");
pc.setService("ignore");
pc.setController("web");
mpg.setPackageInfo(pc);
// 注入自定义配置,可以在 VM 中使用 cfg.abc 设置的值
InjectionConfig cfg = new InjectionConfig() {
public void initMap() {
Map<String, Object> map = new HashMap<String, Object>();
map.put("providerClass", "ISysProvider");
this.setMap(map);
}
};
mpg.setCfg(cfg);
// 自定义模板配置,可以 copy 源码 mybatis-plus/src/main/resources/template 下面内容修改,
// 放置自己项目的 src/main/resources/template 目录下, 默认名称一下可以不配置,也可以自定义模板名称
TemplateConfig tc = new TemplateConfig();
tc.setEntity("tpl/entity.java.vm");
tc.setMapper("tpl/mapper.java.vm");
tc.setXml("tpl/mapper.xml.vm");
tc.setService("tpl/service.java.vm");
tc.setController("tpl/controller.java.vm");
mpg.setTemplate(tc);
// 执行生成
mpg.execute();
}
}

代码模板可以自己修改 也可以直接从jar中拿到 如下图

												

mybitaPlus的使用的更多相关文章

  1. My way to Python - Day012 - 消息中间件

    消息中间件介绍 消息中间件的概念 消息中间件是在消息传输过程中保存消息的容器.消息中间件在将消息从它的源中继到它的目标时充当中间人的作用.队列的主要作用是提供路由并保证消息的传递:如果发生消息接收者不 ...

随机推荐

  1. Unity3D查找丢失材质和脚本工具

    笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解 ...

  2. Django:牛刀小试

    牛刀小试 简谈Django 搭建开发环境 做一个简单的博客网站   写在开始之前: 要求:python基础.HTML基础.浏览器上网的基本原理 以下环境为:windows10专业版 64位 .Djan ...

  3. Spring之基础

    Spring之目的     Spring致力于简化企业级Java开发,促进代码的松散耦合.成功的关键在于依赖注入(DI)和面向切面编程(AOP) Spring之DI     DI是组装应用对象的一种方 ...

  4. 【Python学习】Thread笔记(1)

    Python学习笔记 - Thread(1) 标签(空格分隔): python from threading import Thread num = 2000 id_list = [] def do_ ...

  5. Encode Adjacent Letters

    Encode a string by counting the consecutive letter. (i.e., "aaaabbxxxyyz" might become &qu ...

  6. lx 与cd 的计算方法

    Candela to lux calculation with distance in meters The illuminance Ev in lux (lx) is equal to the lu ...

  7. CF1117D Magic Gems

    CF1117D Magic Gems 考虑 \(dp\) , \(f[i]\) 表示用 \(i\) 个单位空间的方案数,答案即为 \(f[n]\). 对于一个位置,我们可以放 \(Magic\) 的, ...

  8. 《DSP using MATLAB》示例Example 8.5

  9. LG1343 地震逃生

    题意 汶川地震发生时,四川**中学正在上课,一看地震发生,老师们立刻带领x名学生逃跑,整个学校可以抽象地看成一个有向图,图中有n个点,m条边.1号点为教室,n号点为安全地带,每条边都只能容纳一定量的学 ...

  10. Attribute的妙用 ---- 拦截器(过滤器)

    一.何为Attribute 下面是微软官方对Attribute的解释: 公共语言运行时允许你添加类似关键字的描述声明,叫做Attributes,它对程序中的元素进行标注,如类型.字段.方法和属性等.A ...