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

装mybatisX插件;
idea连接数据库;
点击mybatisx-generator,设置自己装mybatisX插件;
idea连接数据库;
点击mybatisx-generator,设置自己要的包和类;

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

1、 使用idea链接数据库
要的包和类;

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

一、使用idea链接数据库

在这里插入图片描述
在这里插入图片描述

二、安装mybatis-X插件

File–>Settings–>Plugins–>Marketplace,=,搜索MyBatisX–>install
在这里插入图片描述

三、生成代码内容

3.1 配置本地驱动包

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

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

路径的生成按照物理路径是: module path --》 base path --》base package
(这里注意如果想实体类带Entity后缀,在extra class suffix一栏填上Entity即可)
在这里插入图片描述

3.4 生成代码

在这里插入图片描述
template:

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

3.4.1 mybatis-plus3案例

在这里插入图片描述
在这里插入图片描述

3.4.2 效果代码

实体类:
在这里插入图片描述

mapper接口:
在这里插入图片描述

service层:
在这里插入图片描述
在这里插入图片描述

xml文件:
在这里插入图片描述

四、配置文件

4.1 默认的mybatis-plus3模板

模板文件包含:
在这里插入图片描述

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

在这里插入图片描述
从上图中可以看到,此模板生成了四个文件,加上我们的entity,一共是5个。

serviceInterface.ftl:
在这里插入图片描述
serviceImpl.ftl:

package ${baseInfo.packageName};import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import ${tableClass.fullClassName};
import ${serviceInterface.packageName}.${serviceInterface.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 ${serviceInterface.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:
在这里插入图片描述

4.2 我的mybatis-plus3模板

要点:把service改为repository,作为仓储层,而不是业务层。
在这里插入图片描述
.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.encoding}"/><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??&&baseService!="">
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里的参数变了:
在这里插入图片描述
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也是一样的,不同的两点:

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

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
以我的【mybatis-plus3-20230824】为例:
在这里插入图片描述
其他人把压缩包解压到对应的位置即可。

六、我的模板

等待补充。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/505550.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AAAI2023《Controllable Image Captioning via Prompting》

摘要 文章提出了一种通过提示学习&#xff08;prompt learning&#xff09;嵌入到图像描述生成框架中的方法&#xff0c;以实现对图像描述的可控生成。具体来说&#xff0c;设计了一组提示来微调预训练的图像描述生成器&#xff0c;这些提示使模型能够吸收来自不同领域的风格化…

AR 眼镜之-拍照/录像动效切换-实现方案

目录 &#x1f4c2; 前言 AR 眼镜系统版本 拍照/录像动效切换 1. &#x1f531; 技术方案 1.1 技术方案概述 1.2 实现方案 1&#xff09;第一阶段动效 2&#xff09;第二阶段动效 2. &#x1f4a0; 默认代码配置 2.1 XML 初始布局 2.2 监听滑动对 View 改变 3. ⚛️…

kubeneters-循序渐进Cilium网络(二)

文章目录 概要IP 地址配置接口配置解析结论 概要 接续前一章节&#xff0c;我们还是以这张图继续深入Cilium网络世界 IP 地址配置 通过检查 Kubernetes 集群的当前环境&#xff0c;可以获取实际的 IP 地址和配置信息。这些信息将被补充到之前的网络示意图中&#xff0c;以使…

宝塔安装mongodb后,写脚本监控运行状态,关闭后自动重启

最近项目用上了mongodb&#xff0c;但是每天晚上 mongodb都回自动关闭&#xff0c;没办法 只能写个监视服务的脚本 在关闭的话就直接重启&#xff0c;创建个计划任务&#xff0c;每三分钟执行一次 # 检查mongo是否还在进程中 countps aux|grep mongo| grep -v grep |wc -l echo…

备忘录记事工具 四款好用的电脑备忘录记事本分享

在信息爆炸的时代&#xff0c;选择一个合适的备忘录记事工具显得尤为重要。无论是记录工作上的重要事项、学习笔记还是生活中的点滴灵感&#xff0c;一个好的备忘录应用都能成为您得力的小助手。今天&#xff0c;我将为大家深入评测四款各具特色的电脑备忘录记事本软件。 印象…

深入理解 C 语言中浮点型数据在内存中的存储

文章目录 一、浮点型数据存储格式&#xff08;IEEE 754 标准&#xff09;二、举例说明单精度浮点数存储过程三、绘图说明四、双精度浮点数存储示例&#xff08;以1.5为例&#xff09; 在 C 语言的世界里&#xff0c;数据类型丰富多样&#xff0c;而浮点型数据用于表示实数&…

sql server cdc漏扫数据

SQL Server的CDC指的是“变更数据捕获”&#xff08;Change Data Capture&#xff09;。这是SQL Server数据库提供的一项功能&#xff0c;能够跟踪并记录对数据库表中数据所做的更改。这些更改包括插入、更新和删除操作。CDC可以捕获这些变更的详细信息&#xff0c;并使这些信息…

vue3如何使用bus(事件总线)

&#x1f680; 个人简介&#xff1a;某大型国企资深软件开发工程师&#xff0c;信息系统项目管理师、CSDN优质创作者、阿里云专家博主&#xff0c;华为云云享专家&#xff0c;分享前端后端相关技术与工作常见问题~ &#x1f49f; 作 者&#xff1a;码喽的自我修养&#x1f9…

Spring IoC DI 入门 和 使用

Spring IoC & DI入门 和 使用 1. IoC & DI入门1.1 Spring 是什么?1.1.1 什么是容器?1.1.2 什么是IoC? 1.2 IoC介绍1.2.1 传统程序开发1.2.2 问题分析1.2.3 解决方案1.2.4 IoC程序开发1.2.5 IoC优势 1.3 DI介绍 2. IoC 和 DI使用 1. IoC & DI入门 1.1 Spring 是…

计算机网络(三)——局域网和广域网

一、局域网 特点&#xff1a;覆盖较小的地理范围&#xff1b;具有较低的时延和误码率&#xff1b;使用双绞线、同轴电缆、光纤传输&#xff0c;传输效率高&#xff1b;局域网内各节点之间采用以帧为单位的数据传输&#xff1b;支持单播、广播和多播&#xff08;单播指点对点通信…

mapbox基础,style样式汇总,持续更新

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;mapbox 从入门到精通 文章目录 一、&#x1f340;前言二、&#x1f340;根属性2.1 so…

551 灌溉

常规解法&#xff1a; #include<bits/stdc.h> using namespace std; int n,m,k,t; const int N105; bool a[N][N],b[N][N]; int cnt; //设置滚动数组来存贮当前和下一状态的条件 //处理传播扩散问题非常有效int main() {cin>>n>>m>>t;for(int i1;i&l…

jenkins入门10--自动化构建

build periodically&#xff1a;设定类似cron周期性时间触发构建 * * * * * (五颗星&#xff0c;中间用空格隔开&#xff09; 第一颗表示分钟&#xff0c;取值0~59 第二颗表示小时&#xff0c;取值0~23 第三颗表示一个月的第几天&#xff0c;取值1~31 第四颗表示第几月&#xf…

[0405].第05节:搭建Redis主从架构

Redis学习大纲 一、3主3从的集群配置&#xff1a; 1.1.集群规划 1.分片集群需要的节点数量较多&#xff0c;这里我们搭建一个最小的分片集群&#xff0c;包含3个master节点&#xff0c;每个master包含一个slave节点&#xff0c;结构如下&#xff1a; 2.每组是一主一从&#x…

新兴的开源 AI Agent 智能体全景技术栈

新兴的开源 AI Agent 智能体全景技术栈 LLMs&#xff1a;开源大模型嵌入模型&#xff1a;开源嵌入模型模型的访问和部署&#xff1a;Ollama数据存储和检索&#xff1a;PostgreSQL, pgvector 和 pgai后端&#xff1a;FastAPI前端&#xff1a;NextJS缺失的一环&#xff1a;评估和…

详细分析 Git 分支重命名与同步操作

目录 前言1. 场景2. 扩展知识 前言 以下小知识点作为讲解介绍&#xff0c;文章较短&#xff0c;作为科普使用 &#x1f91f; 找工作&#xff0c;来万码优才&#xff1a;&#x1f449; #小程序://万码优才/r6rqmzDaXpYkJZF 1. 场景 示例场景&#xff1a;决定将默认分支从 main…

vs2022开发.net窗体应用开发环境安装配置以及程序发布详细教程

文章目录 一、安装visual studio1.1推荐win10操作系统1.2推荐vs20221.3选择工作负载 二、新建基于.net的winform应用程序2.1为什么要.net 2.2 新建.net窗体应用2.2.1 选择Window窗体应用2.2.2 .net窗体对比framework窗体 三、发布.net应用 一、安装visual studio 1.1推荐win10…

Python基于YOLOv8和OpenCV实现车道线和车辆检测

使用YOLOv8&#xff08;You Only Look Once&#xff09;和OpenCV实现车道线和车辆检测&#xff0c;目标是创建一个可以检测道路上的车道并识别车辆的系统&#xff0c;并估计它们与摄像头的距离。该项目结合了计算机视觉技术和深度学习物体检测。 1、系统主要功能 车道检测&am…

详解Sonar与Jenkins 的集成使用!

本文阅读前提 本文假设读者熟悉Jenkins和SonarQube的基础操作。 核心实现功能 Jenkins中运行的job来调用SonarScanner&#xff0c;最后可实现测试结果与SonarQube中同步查看。 Jenkins中安装Sonar相关插件 配置Sonarqube Dashboard>Manage Jenkins>Systems 指定son…

tdengine数据库使用java连接

1 首先给你的项目添加依赖 <dependency> <groupId>com.taosdata.jdbc</groupId> <artifactId>taos-jdbcdriver</artifactId> <version>3.4.0</version> <!-- 表示依赖不会传递 --> </dependency> 注意&am…