mybatis逆向工程生成基础框架

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Sunny5319/article/details/81611914

什么是逆向工程

MyBatis的一个主要的特点就是需要程序员自己编写sql,那么如果表太多的话,难免会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码(包括mapper.xml、mapper.java)。一般在开发中,常用的逆向工程方式是通过数据库的表生成代码。

公司李总自己写了一个mybatis逆向工程的工具,所以我们只需要配置相应的模板,将模板导入工具,就可以根据数据库生成基础框架了,大大提高了开发的效率,更让我亲身体会到了:基础代码机器都可以帮助我们做了,机器正在逐渐把重复的工位代替,所以我们要学习更多的知识,不仅仅是计算机方面的,因为,我们要做的是不做一般人!

 

工具具体使用步骤

1、选择工具

根据自己电脑的配置选择相应的程序--这里小编选择的是64位的

2、 选择数据源

根据如下步骤操作即可:

(1)生成元数据

(2)元数据生成代码

3、 配置元数据

配置元数据中将会有如下操作:

(1)配置:

这个配置信息很全面,可以连接mysql、Oracle、sqlserver数据库,同时根据数据库表名设计的相应规则,对数据库中的字段进行了处理,因为在mybatis的使用中我们一般会去掉_,并且除第一个单词外的其他单词首字母均大写,这里都做了相应的处理。

(2) 选取表

(3)生成元数据代码

(4)编译元数据

4、元数据生成代码

(1)配置

这里需要修改的就是存放模板的位置以及包名(包名和项目的结构一样即可)

模板:这里的模板是根据公司项目需要使用的框架来进行配置的,我们公司这个项目使用的是Spring cloud框架,每个服务使用的是Spring boot

 这里以provider层的entity为例,数据都是以变量的形式来存在的

package ${base-package}.entity;

import com.dmsdbj.cloud.tool.business.BaseEntity;
import lombok.*;
import lombok.experimental.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
import javax.persistence.*;
import java.io.Serializable;
#foreach ($field in ${bean.fields})
#if(${field}!="id" && ${field}!="operator" && ${field}!="isDelete" && ${field}!="remark" && ${field}!="createTime" && ${field}!="updateTime" && ${field.type}=="Date")
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
#break 
#end
#end

/**
 * ${bean.Uname}ΚµΜε
 * ${bean.alias}
 *
 * @author ${author} 
 * @version 0.0.1
 * @since 0.0.1 ${date}
 */
@ApiModel(value = "${bean.Uname}Entity:${bean.alias}")
@NoArgsConstructor
@Data
@Accessors(chain = true)
@ToString(callSuper = true)
@Entity
@Table(name = "${bean.table}")
public class ${bean.Uname}Entity extends BaseEntity implements Serializable{
 	
#foreach ($field in ${bean.fields})
#if(${field}!="id" && ${field}!="operator" && ${field}!="isDelete" && ${field}!="remark" && ${field}!="createTime" && ${field}!="updateTime" && ${field}!="creator")	
	/**
	 * ${field.alias}
	 */
#if(${field.type}=="Date")
	@JsonFormat(
        pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
    )
#end
    @ApiModelProperty(value = "${field.alias}",required = ${field.isRequired})
	@Column(name = "${field.column}")
	private ${field.type} ${field};

#end
#end

}

(2)从元数据生成代码 

 这里就是根据模板配置的生成的相应代码!大功告成啦!

猜你喜欢

转载自blog.csdn.net/Sunny5319/article/details/81611914