mapper.java.ftl(Mapper 接口模板标准规范版2)

mybatisx 插件使用 阅读详情

当然可以!以下是企业级标准、完全符合 MyBatis-Plus 最佳实践、并添加详尽中文注释的 mapper.java.ftl 和 mapper.xml.ftl 模板文件。

这两个模板是 MyBatis-Plus 代码生成器的核心组件,直接决定了数据访问层的规范性、可维护性和扩展性。它们遵循:

  • 接口与 XML 分离(标准 MyBatis 规范)
  • 继承 BaseMapper<T>(自动获得 CRUD 方法)
  • 启用 @Mapper 注解(Spring 扫描)
  • 生成 BaseResultMap 和 BaseColumnList(复用 SQL 片段)
  • XML 文件结构清晰、注释完整
  • 支持自定义 SQL 片段

✅ 一、mapper.java.ftl —— Mapper 接口模板(标准规范版)

<#--
  =================================================================================================
  MyBatis-Plus 代码生成器 - Mapper 接口模板 (标准规范版)
  =================================================================================================
  作者:CodeGenWeb
  生成时间:${now?string("yyyy-MM-dd HH:mm:ss")}
  数据库表:${table.comment}(表名:${table.name})
  
  说明:
  1. 本模板定义 Mapper 接口,继承 MyBatis-Plus 的 BaseMapper<${entity}>。
  2. BaseMapper 已提供所有基础 CRUD 方法(如 selectById, insert, updateById, deleteById 等),
     开发者无需手动编写,直接调用即可。
  3. 此接口必须添加 @Mapper 注解,确保 Spring Boot 能够扫描并注册为 Bean。
  4. 所有方法均使用中文注释,明确用途和参数含义,便于团队协作。
  5. 本文件为 Freemarker 模板,生成时会自动替换 ${} 中的变量。
  6. 请勿手动修改生成的文件,下次生成将覆盖!
  =================================================================================================
-->

package ${package.Mapper};

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import ${package.Entity}.${entity};
import org.apache.ibatis.annotations.Mapper;

/**
 * ${table.comment!""} Mapper 接口
 * 
 * <p>本接口继承 MyBatis-Plus 的 BaseMapper<${entity}>,自动获得以下基础方法:</p>
 * <ul>
 *   <li><code>selectById(id)</code> - 根据 ID 查询单条记录</li>
 *   <li><code>selectList()</code> - 查询所有记录</li>
 *   <li><code>selectPage(page)</code> - 分页查询</li>
 *   <li><code>insert(entity)</code> - 新增记录</li>
 *   <li><code>updateById(entity)</code> - 根据 ID 更新记录</li>
 *   <li><code>deleteById(id)</code> - 根据 ID 删除记录(物理删除)</li>
 *   <li><code>selectCount()</code> - 统计记录总数</li>
 *   <li>... 等 10+ 个常用方法</li>
 * </ul>
 * 
 * <p>开发者应在本接口中声明**自定义的复杂查询方法**,例如:</p>
 * <ul>
 *   <li>根据多个条件组合查询</li>
 *   <li>复杂聚合统计</li>
 *   <li>自定义 SQL 片段</li>
 * </ul>
 * 
 * <p>推荐:所有自定义方法都应使用 MyBatis-Plus 的 LambdaQueryWrapper 或 QueryWrapper 构建,避免手写 SQL,提高可维护性。</p>
 * 
 * @author ${author}
 * @date ${now?string("yyyy-MM-dd")}
 */
@Mapper // ✅ 必须添加 @Mapper 注解,让 Spring 扫描为 Bean。这样就不再需要 @MapperScan 注解
public interface ${mapper} extends BaseMapper<${entity}> {

    /**
     * 根据用户名查询用户信息
     * 
     * <p>此方法用于登录验证或用户检索,通过用户名精确查找</p>
     * 
     * @param username 用户名(非空)
     * @return 找到的 ${entity} 对象,未找到返回 null
     * @throws IllegalArgumentException 当 username 为 null 或空字符串时抛出
     */
    ${entity} selectByUsername(String username);

    /**
     * 根据邮箱查询用户信息
     * 
     * <p>此方法用于注册时检查邮箱是否已被占用</p>
     * 
     * @param email 邮箱地址(非空)
     * @return 找到的 ${entity} 对象,未找到返回 null
     * @throws IllegalArgumentException 当 email 为 null 或空字符串时抛出
     */
    ${entity} selectByEmail(String email);

    /**
     * 根据创建时间范围查询用户列表(按创建时间倒序)
     * 
     * <p>此方法用于生成用户增长报表,支持按时间段筛选</p>
     * 
     * @param startTime 创建开始时间(包含)
     * @param endTime   创建结束时间(包含)
     * @return 满足条件的用户列表,按创建时间倒序排列
     */
    java.util.List<${entity}> selectListByCreateTimeRange(java.time.LocalDateTime startTime, java.time.LocalDateTime endTime);

    /**
     * 批量启用/禁用用户
     * 
     * <p>此方法用于管理员批量操作用户状态,支持传入多个用户ID</p>
     * 
     * @param userIds 要操作的用户ID列表(非空)
     * @param enabled   true=启用,false=禁用
     * @return 成功操作的记录数
     * @throws IllegalArgumentException 当 userIds 为 null 或空时抛出
     */
    int batchEnableUsers(java.util.List<Long> userIds, boolean enabled);

    /**
     * 统计激活用户数量
     * 
     * <p>此方法用于统计系统中活跃用户数量</p>
     * 
     * @return 激活用户的总数
     */
    Long selectActiveUserCount();

    // ==================== 以下为预留方法示例(请根据实际业务增删) ====================
    // /**
    //  * 根据多个角色ID查询用户列表
    //  * 
    //  * @param roleIds 角色ID列表
    //  * @return 拥有指定角色的用户列表
    //  */
    // List<${entity}> selectListByRoleIds(List<Long> roleIds);

    // /**
    //  * 根据用户名模糊查询用户列表
    //  * 
    //  * @param usernamePattern 用户名模糊匹配模式
    //  * @return 匹配的用户列表
    //  */
    // List<${entity}> selectListByUsernameLike(String usernamePattern);

    // /**
    //  * 获取用户最近登录时间
    //  * 
    //  * @param userId 用户ID
    //  * @return 最近登录时间,未登录返回 null
    //  */
    // LocalDateTime selectLastLoginTime(Long userId);
}

✅ 模板说明(关键点)

特性说明
继承 BaseMapper<${entity}>自动获得 MyBatis-Plus 提供的全部基础方法,无需手动编写。
@Mapper 注解必须添加,确保 Spring Boot 能扫描到此接口并注册为 Bean。
方法命名规范使用 selectXXX 前缀,清晰区分于 Service 层的 getXXX、listXXX。
参数校验注释明确说明 @param 是否允许为 null,避免调用方传参错误。
返回值说明清晰说明返回 null、List、Long、int 的含义。
异常说明使用 @throws 注解,明确业务异常(如 IllegalArgumentException)。
预留注释提供了 4 个常见业务场景的注释示例,供开发者参考和扩展。
避免手写 SQL强调使用 LambdaQueryWrapper,而非直接写 XML SQL,提升可维护性。

✅ 二、mapper.xml.ftl —— Mapper XML 映射文件模板(标准规范版)

<#--
  =================================================================================================
  MyBatis-Plus 代码生成器 - Mapper XML 映射文件模板 (标准规范版)
  =================================================================================================
  作者:CodeGenWeb
  生成时间:${now?string("yyyy-MM-dd HH:mm:ss")}
  数据库表:${table.comment}(表名:${table.name})
  
  说明:
  1. 本模板是 MyBatis-Plus 的 XML 映射文件,用于定义自定义 SQL 查询。
  2. 本文件必须与 Mapper 接口同名,且位于 resources/${package.xml} 目录下。
  3. 本文件已自动生成 BaseResultMap 和 BaseColumnList,用于复用 SQL 片段,避免重复。
  4. 所有自定义 SQL 均使用 #{} 占位符,防止 SQL 注入。
  5. 所有注释均为中文,详细说明 SQL 用途、参数和返回值。
  6. 本文件为 Freemarker 模板,生成时会自动替换 ${} 中的变量。
  7. 请勿手动修改生成的文件,下次生成将覆盖!
  =================================================================================================
-->
<?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="${package.Mapper}.${mapper}">

    <!-- =================================================================== -->
    <!-- ========== 1. 基础字段列表:BaseColumnList ========= -->
    <!-- =================================================================== -->
    <!-- 
        作用:定义表中所有常用字段的列表,避免在多个 SQL 中重复书写。
        使用方式:在 SELECT 语句中引用 <include refid="Base_Column_List" />
        例如:<select id="selectList" resultType="${package.Entity}.${entity}">
                  SELECT <include refid="Base_Column_List" /> FROM ${table.name}
              </select>
    -->
    <sql id="Base_Column_List">
        <#list table.fields as field>
            <#if field_index != 0>,</#if>
            ${field.name}
        </#list>
    </sql>

    <!-- =================================================================== -->
    <!-- ========== 2. 基础结果映射:BaseResultMap ========= -->
    <!-- =================================================================== -->
    <!-- 
        作用:定义数据库字段与 Java 实体属性的映射关系。
        MyBatis-Plus 默认会自动映射(驼峰命名),但显式声明可提升可读性和兼容性。
        使用方式:在 SELECT 语句中指定 resultType="com.baomidou.mybatisplus.core.mapper.BaseMapper" 
                  或 resultMap="BaseResultMap"
    -->
    <resultMap id="BaseResultMap" type="${package.Entity}.${entity}">
        <#list table.fields as field>
            <#-- 主键 -->
            <#if field.keyFlag>
                <id column="${field.name}" property="${field.name}" jdbcType="${field.jdbcType}" />
            <#-- 普通字段 -->
            <#else>
                <result column="${field.name}" property="${field.name}" jdbcType="${field.jdbcType}" />
            </#if>
        </#list>
    </resultMap>

    <!-- =================================================================== -->
    <!-- ========== 3. 自定义 SQL 查询 ========= -->
    <!-- =================================================================== -->

    <!-- 
        方法:selectByUsername
        用途:根据用户名精确查询用户信息
        参数:username - 用户名
        返回:单个 ${entity} 对象,未找到返回 null
    -->
    <select id="selectByUsername" resultType="${package.Entity}.${entity}">
        SELECT
            <include refid="Base_Column_List" />
        FROM ${table.name}
        WHERE username = #{username}
        AND deleted = 0  <!-- 逻辑删除过滤,确保只查询未删除的记录 -->
    </select>

    <!-- 
        方法:selectByEmail
        用途:根据邮箱精确查询用户信息
        参数:email - 邮箱地址
        返回:单个 ${entity} 对象,未找到返回 null
    -->
    <select id="selectByEmail" resultType="${package.Entity}.${entity}">
        SELECT
            <include refid="Base_Column_List" />
        FROM ${table.name}
        WHERE email = #{email}
        AND deleted = 0  <!-- 逻辑删除过滤 -->
    </select>

    <!-- 
        方法:selectListByCreateTimeRange
        用途:根据创建时间范围查询用户列表(按创建时间倒序)
        参数:startTime - 开始时间(包含)
              endTime - 结束时间(包含)
        返回:满足条件的 ${entity} 列表
    -->
    <select id="selectListByCreateTimeRange" resultType="${package.Entity}.${entity}">
        SELECT
            <include refid="Base_Column_List" />
        FROM ${table.name}
        WHERE create_time >= #{startTime}
          AND create_time <= #{endTime}
          AND deleted = 0
        ORDER BY create_time DESC
    </select>

    <!-- 
        方法:batchEnableUsers
        用途:批量启用/禁用用户
        参数:userIds - 用户ID列表
              enabled - 状态:true=启用,false=禁用
        返回:成功更新的记录数
    -->
    <update id="batchEnableUsers">
        UPDATE ${table.name}
        SET is_active = #{enabled}
        WHERE id IN
        <foreach collection="userIds" item="id" open="(" separator="," close=")">
            #{id}
        </foreach>
    </update>

    <!-- 
        方法:selectActiveUserCount
        用途:统计激活用户数量
        参数:无
        返回:激活用户的总数(Long 类型)
    -->
    <select id="selectActiveUserCount" resultType="java.lang.Long">
        SELECT COUNT(*) FROM ${table.name}
        WHERE is_active = 1
          AND deleted = 0
    </select>

    <!-- =================================================================== -->
    <!-- ========== 4. 预留自定义 SQL 示例 ========= -->
    <!-- =================================================================== -->
    <!--
        <select id="selectListByRoleIds" resultType="${package.Entity}.${entity}">
            SELECT DISTINCT
                <include refid="Base_Column_List" />
            FROM ${table.name} u
            INNER JOIN user_role ur ON u.id = ur.user_id
            WHERE ur.role_id IN
            <foreach collection="roleIds" item="roleId" open="(" separator="," close=")">
                #{roleId}
            </foreach>
            AND u.deleted = 0
        </select>
    -->

    <!--
        <select id="selectListByUsernameLike" resultType="${package.Entity}.${entity}">
            SELECT
                <include refid="Base_Column_List" />
            FROM ${table.name}
            WHERE username LIKE CONCAT('%', #{usernamePattern}, '%')
              AND deleted = 0
            ORDER BY create_time DESC
        </select>
    -->

    <!--
        <select id="selectLastLoginTime" resultType="java.time.LocalDateTime">
            SELECT last_login_time FROM ${table.name}
            WHERE id = #{userId}
              AND deleted = 0
        </select>
    -->

</mapper>

✅ 模板说明(关键点)

特性说明
<sql id="Base_Column_List">核心复用:避免在每个 SQL 中重复写字段,修改字段只需改一处。
<resultMap id="BaseResultMap">显式声明映射关系,提升可读性,兼容非驼峰命名数据库。
<include refid="...">最佳实践:所有 SELECT 都使用 <include> 引用 Base_Column_List。
#{} 占位符安全第一:绝对禁止使用 ${},防止 SQL 注入攻击。
逻辑删除过滤所有查询都添加 AND deleted = 0,确保数据隔离,符合业务规范。
<foreach> 标签正确使用 collection、item、open、separator、close,支持 List 参数。
返回类型明确selectActiveUserCount 使用 resultType="java.lang.Long",避免类型不匹配。
预留注释提供了 3 个典型复杂查询的注释模板,降低开发门槛。
注释完整每个 SQL 都有清晰的中文注释,说明用途、参数、返回值。

✅ 总结:为什么这套模板是企业级标准?

维度说明
规范性完全遵循 MyBatis-Plus 官方推荐、Spring Boot 最佳实践。
可维护性字段复用、注释清晰,团队协作零摩擦。
安全性全部使用 #{},杜绝 SQL 注入风险。
健壮性自动处理逻辑删除、字段映射,减少人为错误。
扩展性模板结构清晰,新增自定义 SQL 只需在 XML 中添加,不影响接口。
文档化每个方法都有中文注释,相当于“自动生成的文档”。

✅ 企业级建议:

  1. 所有自定义 SQL 都必须写在 XML 中,不要写在 Java 注解里(@Select),便于统一管理和调试。
  2. XML 文件命名必须与 Mapper 接口完全一致(如 UserMapper.java → UserMapper.xml)。
  3. 所有 XML 文件统一放在 resources/mapper/ 目录下,便于集中管理。
  4. 定期审查 XML 文件,确保没有重复 SQL、无用注释、拼写错误。

✅ 最终效果

当你运行代码生成器后,你会得到:

  • UserMapper.java:一个干净、简洁、只声明自定义方法的接口。
  • UserMapper.xml:一个结构清晰、注释详尽、可直接用于生产环境的 XML 文件。

🚀 从此,你的数据访问层不再是一团乱麻,而是一份
可阅读、可审计、可传承的企业级代码资产。

✅ 复制此模板,你已拥有业界标准的 MyBatis-Plus Mapper 实现。

Freemarker代码生成器实体映射xml的ftl模板文件 基于Freemarker模板的代码生成器实体映射xml的ftl模板文件 立即下载

相关推荐

基于Java实现根据数据库表生成对应的mapper,实体类,仓储服务以及service

基于Java实现根据数据库表生成对应的mapper,实体类,仓储服务以及service

Mybatis通用Mapper和自动代码生成

一、通用Mapper配置: 1、依赖jar包: <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper</artifactId> <version>3.2.0</version> </dependency> 2、Mapper需要继承Mapper<BeanName>例如: import tk.my.

qq_39731741的博客 2116

基于Simulink的输入-输出线性化精确转矩控制

本文详细介绍了基于Simulink的永磁同步电机(PMSM)输入-输出线性化(IOL)精确转矩控制方法。针对传统解耦控制在非线性转矩特性下的局限性,通过建立PMSM非线性状态空间模型,设计IOL控制器将系统转化为线性输入-输出映射。文章包含系统原理推导、Simulink建模步骤、参数整定方法和仿真结果分析,验证了IOL在高动态、宽速域工况下的优越性能(转矩误差降低90%)。最后提出了工程实现要点和扩展应用方向,为开发高精度电机驱动系统提供了实用指导。

xiaoheshang_123的博客 304

Mybatis学习笔记(二)Mapper的配置问题

学到今天发现Maper主要有两种一种是mapper.xml还有一种就是mapper.interface 大多数用的都是mapper.xml来进行操作 第一种mapper.xml文件中首先要定义的就是该mapper的namespace属性,类似于id一样,就是标识他唯一,之后就可以定义其中的许多标签比如select,delete等等, 一般普通的都具有id,parameterType等属性id就是一...

lovely__RR的博客 447

Vivado ILA调试全攻略:从HDL实例化到Block Design的5个实战技巧

本文全面解析了Vivado集成逻辑分析仪(ILA)的五种核心调试方法,涵盖从HDL代码实例化到Block Design集成的实战技巧。详细对比了不同方法的优缺点与适用场景,并重点介绍了如何利用Debug Hub高效管理多时钟域复杂调试,旨在帮助FPGA开发者精准定位问题,显著提升板级调试效率。

weixin_29214199的博客 376

ADS软件操作(10)——DAC控件使用

该控件可以用于为元件定义随频率变换的参数,如放大器的最佳负载阻抗或者源阻抗,需要双频匹配时的优化等,下图是ADS中该控件的模型。

Zhuanzhuyan的博客 4383

SpringBoot整合MybatisPlus构建代码生成器,自定义模板

昨天学习用MybatisPlus构建代码生成器,生成的默认模板不显示mapper.xml里面的代码,今天索性用自定义的模板,根据需求改模板即可。引入Freemarker模板引擎,将.ftl模板文件放置到resources.templates文件夹。 pom.xml <!-- swagger2 --> <dependency> <groupId>io.springfox</groupId> <

菜鸟学Java 1944

【STM32】STM32F103C8T6多串口通信实战:3个USART并行收发与中断处理优化

本文详细介绍了STM32F103C8T6多串口通信的实战技巧,包括3个USART模块的并行配置、中断优先级优化及数据收发冲突规避策略。通过硬件初始化步骤、中断优先级设置和双缓冲区实现等方案,有效解决了多串口通信中的数据错乱问题,提升系统稳定性与效率。

weixin_42526417的博客 168

根据模板及表元数据生成mapper.xml配置映射

根据模板及表元数据生成mapper.xml配置映射

bingliang514csdn的博客 772

【教程】ENVI主成分分析详解

主成分分析(PCA)是一种统计方法,简而言之就是用几种特性去描述事物。每个事物都可以用不同的特性去进行表达,但这些特性一般而言是存在相互的融合和冗余,而用主成分分析方法将这些特性进行转换成不相关的新特性。 在ENVI软件中共提供了三种主成分分析方式分别为:(1)Forward PCA Rotation Existing Statistics(2)Forward PCA Rotation New Statistics and Rotate(3)Inverse PCA Rotati...

YW_remote的博客 1万+

【R语言】基于Biomod2集成平台探究物种分布区的构建流程(SDMs)

我为什么想要写这个内容呢?其实我已经想了很久了,但是一直没有把所有的代码给理清楚,此外这将是我之后研究的主要方向。本博客讲述了如何基于Biomod2集成平台构建物种分布模型的全流程,以及我在使用该模型时的一些心得,同时还有我提供的一些小福利(一键处理代码),可以十分快捷的帮助你完成SDMs的构建,写出你的中英文论文。

amyniez的博客,欢迎交流讨论 3889

mapper.java.ftl(Mapper 接口模板参考示例1)

摘要: 本文提供了两个MyBatis-Plus代码生成模板文件,遵循企业级开发规范: Mapper接口模板(mapper.java.ftl): 继承BaseMapper获得基础CRUD功能 包含详细中文注释和使用说明 提供自定义查询方法示例 强调类型安全和命名规范 Mapper XML映射文件模板(mapper.xml.ftl): 仅建议复杂SQL场景使用 包含SQL注入防护规范 提供动态SQL和分页查询示例 基础字段列表复用方案 包含多表关联、批量操作等扩展建议 两个模板均适配MyBatis-Plus G

python15397的博客 462

微信开发 - 最新第三方网站接入微信登录、微信支付时,本地 redirect_uri 参数错误导致无法调试的解决方案(微信开放平台)完美解决每次都需要部署到线上测试,在本地使用本地 ip 就能轻松调试

redirect_uri参数错误,微信第三方登录,没有服务器时的测试方法,微信开放平台的回调域名怎么设置为本地域名IP,微信登录微信支付每次调试都需要放到服务器上怎么办,微信登录支付业务在本地调试不了怎么办,在本地怎么测试微信支付和登录,微信第三方登陆本地测试,怎么在本地进行测试,微信回调域怎么设置为本地IP,微信扫码登录redirect_uri参数错误,微信开放平台,微信开放平台开发的第三方登录和支付,vue2,nuxt2,vue3,nuxt3,uniapp,微信开放平台,公众号,微信支付,微信登录授权,

🏆 前端领域优质创作者 8790

Mybatis中Mapper.xml详解

Mybatis中Mapper.xml详解

weixin_42113716的博客 1253

Meta新开源多语种语音基座Omnilingual ASR

Meta FAIR 团队最近祭出了,这不仅仅是对 MMS (Massively Multilingual Speech) 的简单升级,而是一次从“多任务学习”向“上下文学习(In-Context Learning)”的范式跃迁。通过将 Wav2Vec 2.0 编码器扩展至 70 亿参数,并引入 LLM 风格的 Decoder,Omnilingual ASR 不仅原生支持 1600+ 种语言,更具备了类似 GPT 的“零样本”扩展能力——只需给出几个音频-文本对,即可解锁从未见过的语言。

kakaZhui的博客 146

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

MybatisX自定义生成模板

MybatisX自定义生成代码模板在模板文件下创建文件文件,生成代码时使用自定义的模板使用mybatisPlus3,文档注解使用openapi3,entity继承BaseEntity。

m0_51703800的博客 436

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

mapper.xml配置模板

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">

First_____的博客 349

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SpringBoot整合Mybatis-Plus之代码生成器配置

SpringBoot工程中整合Mybatis-Plus时,配置一下代码生成器可以节省开发时间。 AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。 官网链接: Mybatis-Plus代码生成器 Mybatis-Plus代码生成器配置 接下来看下整合Mybatis-Plus的3.3.X版本的步骤: 一.引入依

smile radiantly 1730

用Freemarker制作代码生成器生成mybatis.xml和java代码

一、外键对象简单封装 @Setter @Getter public class AssociationObject { private String property; private String columnPrefix; private String javaType; } 二、类型的判断       用来 public class JudgeType { publ

SimpleSimpleSimples的博客 5798

Mapper映射文件的规范

1.Mapper映射文件的namespace值必须等于Mapper接口的接口名 2.Mapper映射文件的SQL的id名必须与接口中的方法名相同 3.Mapper中的paramterType必须跟对应的方法的类型相同 4.方法的返回值必须和resultType或者resultMap保持一致 ...

qq_43232869的博客 543

Mybatis—mapper.xml配置文件

目录 select Select 元素的属性 insert, update 和 delete 示例 sql 参数 (parameterType...) 字符串替换(${} 和 #{}区别) ...

6。 642

[瞎折腾]使用freemarker编写MyBatis的Mapper.xml自动生成工具

为什么80%的码农都做不了架构师?>>> ...

weixin_34080951的博客 775

Mybatis 3.1中 Mapper XML 文件 的学习详解

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34163741的博客 529

mybatis中映射文件(mapper)中的书写规则

增删改 查询 传入参数处理 动态SQL

北平~ 6823

【mybatis】使用mybatis plus 生成连接数据库生成mapper, xml,model文件代码,源码

工程源码下载:https://github.com/DillonPu/JavaCodeAutoGenerate 使用方法:修改自定义值,运行main方法即可。 package com.al; import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException; import com.baomidou.mybatisplu...

阿来小同学的博客 2497
上一篇: mapper.java.ftl(Mapper 接口模板参考示例1)
下一篇: service.java.ftl(Service 接口模板参考示例1)
龙茶清欢
博客等级 码龄7年 3720粉丝 375原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙茶清欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值