开发者

mybatisX插件的使用及打包成配置

目录
  • 一、使用idea链接数据库
  • 二、安装myBATis-X插件
  • 三、生成代码内容
    • 3.1 配置本地驱动包
    • 3.2 侧边栏打开数据库,选择要生成代码的表格,在表名上右击,点击MybatisX-Generator
    • 3.3 设置类名生成规则及生成代码的路径
    • 3.4 生成代码
      • 3.4.1 mybatis-plus3案例
      • 3.4.2 效果代码
  • 四、配置文件
    • 4.1 默认的mybatis-plus3模板
      • 4.1.1 .meta.XML以及xx.ftl概览
    • 4.2 我的mybatis-plus3模板
    • 五、打包配置,一键给其他人复用

      装mybatisX插件;

      idea连接数据库;

      点击mybatisx-generator,设置自己装mybatisX插件;

      idea连接数据库;

      点击mybatisx-generator,设置自己要的包和类;

      如果要把自己的配置设置成一个自定义模板:

      1、 使用idea链接数据库

      要的包和类;

      如果要把自己的配置设置成一个自定义模板:

      一、使用idea链接数据库

      mybatisX插件的使用及打包成配置

      mybatisX插件的使用及打包成配置

      二、安装mybatis-X插件

      File–>Settings–>Plugins–>Marketplace,=,搜索MyBatisX–>install

      mybatisX插件的使用及打包成配置

      三、生成代码内容

      3.1 配置本地驱动包

      mybatisX插件的使用及打包成配置

      mybatisX插件的使用及打包成配置

      mybatisX插件的使用及打包成配置

      3.2 侧边栏打开数据库,选择要生成代码的表格,在表名上右击,点击MybatisX-Generator

      mybatisX插件的使用及打包成配置

      3.3 设置类名生成规则及生成代码的路径

      路径的生成按照物理路径是: module path --》 base path --》base package

      (这里注意如果想实体类带Entity后缀,在extra class suffix一栏填上Entity即可)

      mybatisX插件的使用及打包成配置

      3.4 生成代码

      mybatisX插件的使用及打包成配置

      template:

      • custom-model-swagger:生成实体文件,属性上会自动增加swagger的相关注解,
      • default-all:生成实体文件、xml文件和dao层接口文件, 默认会生成常用的增删改查到的方法
      • mybatis-plus3:生成实体文件、xml文件、dao层接口文件、 service层接口文件和service层接口实现文件

      3.4.1 mybatis-plus3案例

      mybatisX插件的使用及打包成配置

      mybatisX插件的使用及打包成配置

      3.4.2 效果代码

      实体类:

      mybatisX插件的使用及打包成配置

      mapper接口:

      mybatisX插件的使用及打包成配置

      service层:

      mybatisX插件的使用及打包成配置

      mybatisX插件的使用及打包成配置

      xml文件:

      mybatisX插件的使用及打包成配置

      四、配置文件

      4.1 默认的mybatis-plus3模板

      模板文件包含:

      mybatisX插件的使用及打包成配置

      4.1.1 .meta.xml以及xx.ftl概览

      mybatisX插件的使用及打包成配置

      从上图中可以看到,此模板生成了四个文件,加上我们的entity,一共是5个。

      serviceInterface.ftl:

      mybatisX插件的使用及打包成配置

      serviceImpl.ftl:

      package ${baseInfo.packageName};
      
      import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
      import ${tableClass.fullClassName};
      import ${serviceInterface.packageName}.${serviceInterface.fileName};
      imwww.devze.comport ${mapperInt编程客栈erface.packageName}.${mapperInterface.fileName};
      <#if baseService??&&baseService!="">
      import ${baseService};
          <#list baseService?split(".") as simpleName>
              <#if !simpleName_has_next>
                  <#assign serviceSimpleName>${simpleName}</#assign>
              </#if>
          </#list>
      </#if>
      import org.springframework.stereotype.Service;
      
      /**
      * @author ${author!}
      * @description 针对表【${tableClass.tableName}<#if tableClass.remark?has_content>(${tableClass.remark!})</#if>】的数据库操作Service实现
      * @createDate ${.now?string('yyyy-MM-dd HH:mm:ss')}
      */
      @Service
      public class ${baseInfo.fileName} extends ServiceImpl<${mapperInterface.fileName}, ${tableClass.shortClassName}>
          implements ${servicjseInterface.fileName}{
      
      }
      
      

      mapperInterface.ftl:

      package ${mapperInterface.packageName};
      
      import ${tableClass.fullClassName};
      <#if tableClass.pkFields??>
          <#list tableClass.pkFields as field><#assign pkName>${field.shortTypeName}</#assign></#list>
      </#if>
      import com.baomidou.mybatisplus.core.mapper.BaseMapper;
      
      /**
      * @author ${author!}
      * @description 针对表【${tableClass.tableName}<#if tableClass.remark?has_content>(${tableClass.remark!})</#if>】的数据库操作Mapper
      * @createDate ${.now?string('yyyy-MM-dd HH:mm:ss')}
      * @Entity ${tableClass.fullClassName}
      */
      public interface ${mapperInterface.fileName} extends BaseMapper<${tableClass.shortClassName}> {
      
      }
      

      mapperXml.ftl:

      mybatisX插件的使用及打包成配置

      4.2 我的mybatis-plus3模板

      要点:把service改为repository,作为仓储层,而不是业务层。

      mybatisX插件的使用及打包成配置

      .meta.xml:

      <?xml version="1.0" encoding="utf-8" ?>
      <templates>
          <template>
              <property name="configName" value="repositoryInterface"/>
              <property name="configFile" value="repositoryInterface.ftl"/>
              <property name="fileName" value="${domain.fileName}Repository"/>
              <property name="suffix" value=".Java"/>
              <property name="packageName" value="${domain.basePackage}.domain.gateway.db"/>
              <property name="encoding" value="${domain.encoding}"/>
              <property name="basePath" value="${domain.basePath}"/>
          </template>
          <template>
              <property name="configName" value="repositoryImpl"/>
              <property name="configFile" value="repositoryImpl.ftl"/>
              <property name="fileName" value="${domain.fileName}RepositoryImpl"/>
              <property name="suffix" value=".java"/>
              <property name="packageName" value="${domain.basePackage}.infrastructure.repository"/>
              <property name="encoding" value="${domain.encoding}"/>
              <property name="basePath" value="${domain.basePath}"/>
          </template>
          <template>
              <property name="configName" value="mapperInterface"/>
              <property name="configFile" value="mapperInterface.ftl"/>
              <property name="fileName" value="${domain.fileName}Mapper"/>
              <property name="suffix" value=".java"/>
              <property name="packageName" value="${domain.basePackage}.infrastructure.repository.mybatis.mapper"/>
              <property name="encoding" value="${domain.encoding}"/>
              <property name="basePath" value="${domain.basePath}"/>
          </template>
          <template>
              <property name="configName" value="mapperXml"/>
              <property name="configFile" value="mapperXml.ftl"/>
              <property name="fileName" value="${domain.fileName}Mapper"/>
              <property name="suffix" value=".xml"/>
              <property name="packageName" value="mapper"/>
              <property name="encoding" value="${domain.ephpncoding}"/>
              <property name="basePath" value="src/main/resources"/>
          </template>
      </templates>
      
      

      mapperInterface.ftl:略,和4.1相同;

      mapperXml.ftl:略,和4.1相同;

      repositoryInterface.ftl:

      package ${baseInfo.packageName};
      
      import ${tableClass.fullClassName};
      <#if baseService??&&base编程Service!="">
      import ${baseService};
          <#list baseService?split(".") as simpleName>
              <#if !simpleName_has_next>
                  <#assign serviceSimpleName>${simpleName}</#assign>
              </#if>
          </#list>
      </#if>
      import com.baomidou.mybatisplus.extension.service.IService;
      
      /**
      * @author ${author!}
      * @description 针对表【${tableClass.tableName}<#if tableClass.remark?has_content>(${tableClass.remark!})</#if>】的数据库操作Service
      * @createDate ${.now?string('yyyy-MM-dd HH:mm:ss')}
      */
      public interface ${baseInfo.fileName} extends IService<${tableClass.shortClassName}> {
      
      }
      
      

      其实和4.1也是一样的,不同的是.meta.xml里的参数变了:

      mybatisX插件的使用及打包成配置

      repositoryImpl.ftl:

      package ${baseInfo.packageName};
      
      import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
      import ${tableClass.fullClassName};
      import ${repositoryInterface.packageName}.${repositoryInterface.fileName};
      import ${mapperInterface.packageName}.${mapperInterface.fileName};
      <#if baseService??&&baseService!="">
      import ${baseService};
          <#list baseService?split(".") as simpleName>
              <#if !simpleName_has_next>
                  <#assign serviceSimpleName>${simpleName}</#assign>
              </#if>
          </#list>
      </#if>
      import org.springframework.stereotype.Service;
      
      /**
      * @author ${author!}
      * @description 针对表【${tableClass.tableName}<#if tableClass.remark?has_content>(${tableClass.remark!})</#if>】的数据库操作Service实现
      * @createDate ${.now?string('yyyy-MM-dd HH:mm:ss')}
      */
      @Service
      public class ${baseInfo.fileName} extends ServiceImpl<${mapperInterface.fileName}, ${tableClass.shortClassName}> implements ${repositoryInterface.fileName}{
      
      }
      
      

      同上,和4.1也是一样的,不同的两点:

      • 是.meta.xml里的参数变了;
      • import里的导入类全路径引用变了;

      mybatisX插件的使用及打包成配置

      mybatisX插件的使用及打包成配置

      五、打包配置,一键给其他人复用

      mybatisX插件的使用及打包成配置

      以我的【mybatis-plus3-20230824】为例:

      mybatisX插件的使用及打包成配置

      其他人把压缩包解压到对应的位置即可。

      到此这篇关于mybatisX插件的使用及打包成配置的文章就介绍到这了,更多相关mybatisX插件使用内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

      0

      上一篇:

      下一篇:

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      最新开发

      开发排行榜