Mybatis-Plus之代码生成器使用指南

来源:互联网 发布:域名是知识产权吗 编辑:程序博客网 时间:2024/06/01 18:57

目前公司所做项目的各模块的dao层接口有大量数据库查询的方法,大部分都是通用的CURD,所以在在网上找到了Mybatis-Plus这个插件,该插件具有通用CURD接口,而且具有前后端代码生成器的功能,这次主要介绍后端代码生成器的使用。

1.Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
码云地址:https://gitee.com/baomidou/mybatis-plus
githb地址:https://github.com/baomidou/mybatis-plus

2.使用方法

<dependency>    <groupId>com.baomidou</groupId>    <artifactId>mybatis-plus</artifactId>    <version>maven 官方最新版本为准</version></dependency>
引入jar包后开始编写代码生成器示例文件
这个我使用了读取properties的方式来生成代码

properties示例如下 
Mybatis-Plus.properties

#此处为本项目src所在路径(代码生成器输出路径)
OutputDir=D:/XXX/src
#数据库表名(此处切不可为空,如果为空,则默认读取数据库的所有表名)
tableName=XXX
#生成代码类名类名
className=XXX
#设置作者
author=XXX
#
#
#正常情况下,下面的代码无需修改!!!!!!!!!!
#
#
#自定义包路径
parent=com.XXX
#数据库地址
url=jdbc:mysql://127.0.0.1:3306/XXX?useUnicode=true&characterEncoding=utf-8
#数据库用户名
userName=root
#数据库密码
password=XXX

代码生成器示例文件

package com.test;


import java.util.ResourceBundle;


import com.baomidou.mybatisplus.generator.AutoGenerator;
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.converts.MySqlTypeConvert;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;


/**
 *
 * 自动生成映射工具类
 *
 * @author hubin
 *
 */
public class AutoGeneratorHelper {


/**
* <p>
* 测试 run 执行
* </p>
* <p>
* 更多使用查看 http://mp.baomidou.com
* </p>
*/
public static void main(String[] args) {

//用来获取Mybatis-Plus.properties文件的配置信息
ResourceBundle rb =  ResourceBundle.getBundle("Mybatis-Plus");
AutoGenerator mpg = new AutoGenerator();


// 全局配置
GlobalConfig gc = new GlobalConfig();


gc.setOutputDir(rb.getString("OutputDir"));


gc.setFileOverride(true);
gc.setActiveRecord(true);// 开启 activeRecord 模式
gc.setEnableCache(false);// XML 二级缓存
gc.setBaseResultMap(true);// XML ResultMap
gc.setBaseColumnList(false);// XML columList
gc.setAuthor(rb.getString("author"));
mpg.setGlobalConfig(gc);


// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDbType(DbType.MYSQL);
dsc.setTypeConvert(new MySqlTypeConvert());
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername(rb.getString("userName"));
dsc.setPassword(rb.getString("passWord"));
dsc.setUrl(rb.getString("url"));
mpg.setDataSource(dsc);


// 策略配置
StrategyConfig strategy = new StrategyConfig();
//strategy.setTablePrefix(new String[] { "bmd_", "mp_" });// 此处可以修改为您的表前缀
strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
strategy.setInclude(new String[] { rb.getString("tableName")}); // 需要生成的表
// 字段名生成策略
// strategy.setFieldNaming(NamingStrategy.underline_to_camel);
//strategy.setSuperServiceImplClass("com.baomidou.springwind.service.support.BaseServiceImpl");
mpg.setStrategy(strategy);


// 包配置
PackageConfig pc = new PackageConfig();
// pc.setModuleName("test");
pc.setParent(rb.getString("parent"));// 自定义包路径
pc.setController("controller."+rb.getString("className"));// 这里是控制器包名,默认 web
pc.setEntity("model."+rb.getString("className"));
pc.setMapper("dao."+rb.getString("className"));
pc.setXml("mapping."+rb.getString("className"));
pc.setService("service."+rb.getString("className"));
pc.setServiceImpl("service."+rb.getString("className")+".impl");
mpg.setPackageInfo(pc);
// 执行生成
mpg.execute();
}


}

运行即可生成代码




下载地址 | Download

点此去下载

原创粉丝点击