跳到主要内容

方法注解

通过在 Mapper 接口方法上标记注解,将 SQL 与调用逻辑分离,无需编写 JDBC 模板代码。

定义 Mapper 接口
@SimpleMapper
public interface UserMapper {
@Query("select * from users where id > ?")
List<User> listUsers(long searchId);
}
使用 Mapper
Session session = config.newSession(dataSource);
UserMapper mapper = session.createMapper(UserMapper.class);
List<User> result = mapper.listUsers(2);
提示

Session 的获取方式取决于项目架构,详见 框架整合

注解清单

注解用途示例场景
@Query执行查询语句并返回结果集SELECT 查询、分页查询
@Insert执行 INSERT 语句新增记录、获取自增主键
@Update执行 UPDATE 语句修改记录
@Delete执行 DELETE 语句删除记录
@Execute执行任意语句(DML/DDL)建表、批量操作、多结果集
@Call调用存储过程存储过程/函数调用
@Segment定义可复用的 SQL 片段通过 @{macro,...} 规则引用

通用说明

  • 所有接受 SQL 的注解(value 属性)均支持 字符串数组,数组元素会以空格连接,方便多行书写
  • SQL 中可以使用 规则 赋予动态能力(条件拼接、IN 查询等)
  • statementType 属性的可选值为 StatementPrepared(默认)、Callable