SuperAPI AI 工具集

mybatis-patterns

编程与开发

查看项目

更新于 10-15 21:48

技能介绍

用途:整理 MyBatis 核心 ORM 的常用模式与决策要点,帮助选择 XML 或注解 SQL、编写关联查询与动态 SQL,并规避常见注入与性能问题。

主要能力:XML 与注解 SQL 选择(简单 CRUD 用注解,复杂查询与动态 SQL 用 XML);ResultMap 复用,支持 extends 继承、discriminator 及 columnPrefix 处理同表多次 JOIN;关联查询 association/collection,Join 查询优于嵌套 select;动态 SQL 元素 if/choose/when/otherwise/where/set/foreach/trim;防注入上强调 #{} 预编译与 ${} 的表名、列名、排序必须白名单校验;分页上 PageHelper 优于 RowBounds;sql 片段与 include 复用。

使用方式:关联查询推荐一次 Join 加列别名配合 columnPrefix 复用 resultMap;动态条件用 where 自动处理 AND/OR;排序字段用白名单集合校验后再传给 ${orderBy};模糊查询用 LIKE CONCAT('%', #{keyword}, '%')。

限制:MyBatis-Plus LambdaWrapper 与 Spring Data JPA 不在范围内。二级缓存跨 session 易不一致,分布式环境慎用;association 的 select 会触发 N+1;resultType 与 resultMap 不能同时使用;Mapper 接口与 XML 同包放置,否则配置 mybatis.mapper-locations。该技能不收集、存储或传输用户数据。