使用Mybatis Generator插件生成纯净代码,自定义扩展注释和注释,xml映射文件,不用修改源码!!!

本文主要是介绍使用Mybatis Generator插件生成纯净代码,自定义扩展注释和注释,xml映射文件,不用修改源码!!!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先看效果: (基于Mybatis-generator-core-1.4.0)

生成模型(实体): 根据MySQL库中的tb_prod_info表字段及注释自动生成.

package com.ezsyn.cloudstudy.product.dao.entity;import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;/*** 产品信息表* <p>* tb_prod_info** @author Aylven* @date 2020-04-06*/
@Getter
@Setter
@ToString
public class TbProdInfo implements Serializable {private static final long serialVersionUID = 1L;/*** 产品代码 主键*/@ApiModelProperty(value = "产品代码 主键")private String code;/*** 产品名称*/@ApiModelProperty(value = "产品名称")private String name;/*** 是否有效*/@ApiModelProperty(value = "是否有效")private Boolean enabled;/*** 创建时间*/@ApiModelProperty(value = "创建时间")private Date createTime;/*** 创建人ID*/@ApiModelProperty(value = "创建人ID")private Integer createBy;/*** 更新时间*/@ApiModelProperty(value = "更新时间")private Date updateTime;/*** 更新人ID*/@ApiModelProperty(value = "更新人ID")private Integer updateBy;
}

生成Mapper接口:生成常用的接口方法,自动生成注释,添加了@Mapper注解.

package com.ezsyn.cloudstudy.product.dao.mapper;import com.ezsyn.cloudstudy.product.dao.entity.TbProdInfo;
import org.apache.ibatis.annotations.Mapper;/*** 产品信息表* <p>* tb_prod_info** @author Aylven* @date 2020-04-06*/
@Mapper
public interface TbProdInfoMapper {/*** 根据主键删除记录*/int deleteByPrimaryKey(String code);/*** 插入全部字段*/int insert(TbProdInfo record);/*** 插入选择的字段*/int insertSelective(TbProdInfo record);/*** 根据主键查询*/TbProdInfo selectByPrimaryKey(String code);/*** 根据主键更新选择的字段*/int updateByPrimaryKeySelective(TbProdInfo record);/*** 根据主键更新全部字段*/int updateByPrimaryKey(TbProdInfo record);
}

生成mapper XML映射文件:去掉了接口方法中的jdbcType

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ezsyn.cloudstudy.product.dao.mapper.TbProdInfoMapper"><resultMap id="BaseResultMap" type="com.ezsyn.cloudstudy.product.dao.entity.TbProdInfo"><id column="code" jdbcType="VARCHAR" property="code"/><result column="name" jdbcType="VARCHAR" property="name"/><result column="price" jdbcType="DECIMAL" property="price"/><result column="stock" jdbcType="INTEGER" property="stock"/><result column="enabled" jdbcType="BIT" property="enabled"/><result column="create_time" jdbcType="TIMESTAMP" property="createTime"/><result column="create_by" jdbcType="INTEGER" property="createBy"/><result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/><result column="update_by" jdbcType="INTEGER" property="updateBy"/></resultMap><sql id="Base_Column_List">code, name, price, stock, enabled, create_time, create_by, update_time, update_by</sql><select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">select<include refid="Base_Column_List"/>from tb_prod_infowhere code = #{code}</select><delete id="deleteByPrimaryKey" parameterType="java.lang.String">deletefrom tb_prod_infowhere code = #{code}</delete><insert id="insert" parameterType="com.ezsyn.cloudstudy.product.dao.entity.TbProdInfo"><selectKey keyProperty="code" order="AFTER" resultType="java.lang.String">SELECT LAST_INSERT_ID()</selectKey>insert into tb_prod_info (code, name, price,stock, enabled, create_time,create_by, update_time, update_by)values (#{code}, #{name}, #{price},#{stock}, #{enabled}, #{createTime},#{createBy}, #{updateTime}, #{updateBy})</insert><insert id="insertSelective" parameterType="com.ezsyn.cloudstudy.product.dao.entity.TbProdInfo"><selectKey keyProperty="code" order="AFTER" resultType="java.lang.String">SELECT LAST_INSERT_ID()</selectKey>insert into tb_prod_info<trim prefix="(" suffix=")" suffixOverrides=",">code,<if test="name != null">name,</if><if test="price != null">price,</if><if test="stock != null">stock,</if><if test="enabled != null">enabled,</if><if test="createTime != null">create_time,</if><if test="createBy != null">create_by,</if><if test="updateTime != null">update_time,</if><if test="updateBy != null">

这篇关于使用Mybatis Generator插件生成纯净代码,自定义扩展注释和注释,xml映射文件,不用修改源码!!!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1141515

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

LiteFlow轻量级工作流引擎使用示例详解

《LiteFlow轻量级工作流引擎使用示例详解》:本文主要介绍LiteFlow是一个灵活、简洁且轻量的工作流引擎,适合用于中小型项目和微服务架构中的流程编排,本文给大家介绍LiteFlow轻量级工... 目录1. LiteFlow 主要特点2. 工作流定义方式3. LiteFlow 流程示例4. LiteF