mybatisplus @tablefield注解_mybatisplus代码生成了解下?

1034cfac629d6c9646aa920e6081ff5f.png


前言
随着敏捷开发模式的推广,伴着日益增长的需求,日常工作中我们越来越注重效率和便捷性。今天我们就来探讨下如何自动生成代码,准确地说是如何依赖数据库生成我们的entity、mapper、mybatis xml、service、serviceImpl、controller,搭建我们的项目模板,提高我们的开发效率。这里我们的实现方式是基于mybatis-plus来实现的,废话少说,直接开始吧。
创建项目
这里创建的maven项目,核心依赖如下:    
    <properties>         <mybatis-plus.version>2.1.9mybatis-plus.version>         <mybatis-plus-generator.version>2.1.9mybatis-plus-generator.version>     properties>      <dependencies>         <dependency>             <groupId>com.baomidougroupId>             <artifactId>mybatis-plus-generateartifactId>             <version>${mybatis-plus-generator.version}version>         dependency>          <dependency>             <groupId>com.baomidougroupId>             <artifactId>mybatis-plusartifactId>             <version>${mybatis-plus.version}version>         dependency>
这里需要还需要引入slf4j-log4j12和slf4j-api的依赖,否则会报找不到org/slf4j/LoggerFactory的错误:    
        <dependency>             <groupId>org.slf4jgroupId>             <artifactId>slf4j-log4j12artifactId>             <version>1.7.12version>         dependency>         <dependency>             <groupId>org.slf4jgroupId>             <artifactId>slf4j-apiartifactId>             <version>1.6.1version>         dependency>
因为要通过数据库自动构建代码,所以数据库驱动必不可少,这里演示用的是mysql数据库:        
  <dependency>      <groupId>mysqlgroupId>      <artifactId>mysql-connector-javaartifactId>      <version>8.0.16version>  dependency>
项目创建完后,下面我们要编写代码自动生成器。
导入代码模板
在编写自动生成器之前,更重要的工作是导入代码模板,模板决定了后续你代码生成后的样式,如果第一次接触,先不要考虑如何自己构建模板,我们先照猫画虎改一个呗:

entity.java的模板:

文件名及路径:

  • mybatis-templates/entity.java.vm 

package ${package.Entity};  #if(${activeRecord}) import java.io.Serializable; #end  #foreach($pkg in ${table.importPackages}) import ${pkg}; #end  #if(${entityLombokModel}) import com.baomidou.mybatisplus.annotations.Version; import lombok.Data; import lombok.experimental.Accessors; import java.io.Serializable; #end  /**********************************************  * 描述:$!{table.comment}  *  * @author ${author}  * @version 1.0  * @date:${date}  *********************************************/ #if(${entityLombokModel}) @Data @Accessors(chain = true) #end #if(${table.convert}) @TableName("${table.name}") #end #if(${superEntityClass}) public class ${entity} implements Serializable {
     #elseif(${activeRecord}) public class ${entity} extends Model {
     #else public class ${entity} implements Serializable {
     #end      private static final long serialVersionUID = 1L;  ## ----------  BEGIN 字段循环遍历  ---------- #foreach($field in ${table.fields}) #if(${field.keyFlag}) #set($keyPropertyName=${field.propertyName}) #end #if("$!field.comment" != "")     /**      * ${field.comment}      */ #end #if(${field.keyFlag}) ## 主键 #if(${field.keyIdentityFlag})     @TableId(value="${field.name}", type= IdType.AUTO) #elseif(${field.convert})     @TableId("${field.name}") #end ## 普通字段 #elseif(${field.fill}) ## -----   存在字段填充设置   ----- #if(${field.convert})     @TableField(value = "${field.name}", fill = FieldFill.${field.fill}) #else     @TableField(fill = FieldFill.${field.fill}) #end #elseif(${field.convert})     @TableField("${field.name}") #end ## 乐观锁注解 #if(${versionFieldName}==${field.name})     @Version #end ## 逻辑删除注解 #if(${logicDeleteFieldName}==${field.name})     @TableLogic #end     private ${field.propertyType} ${field.propertyName}; #end ## ----------  END 字段循环遍历  ----------  #if(!${entityLombokModel}) #foreach($field in ${table.fields}) #if(${field.property
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值