Package cn.yusiwen.commons.mapper
Interface BaseMapper<S extends BaseEntity>
- Type Parameters:
S- 实体类类型,需继承自BaseEntity
public interface BaseMapper<S extends BaseEntity>
一个基础的 MyBatis Mapper 接口,提供了通用的数据库操作方法。
此接口支持常见的操作如插入记录、根据主键查询等功能,同时为复杂 SQL 提供了定制化支持。 开发者可以通过继承此接口,快速实现对实体类的基本 CRUD 操作,减少重复性代码。
特性:
- 内置多种 SQL Provider 类,用于生成常用 SQL(如插入、查询等)。
- 支持使用注解如 @InsertProvider 和 @SelectProvider 定制 SQL 行为。
- 通过泛型支持对不同实体类的扩展。
使用示例:
public interface UserMapper extends BaseMapper<UserEntity> {}
- Since:
- 1.0
- Author:
- Siwen Yu (yusiwen@gmail.com)
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic class基类static class插入providerstatic class不包含主键的插入SQL提供者类static class根据id列表查询static class单条数据查询static classtable info -
Method Summary
-
Method Details
-
insert
@Options(useGeneratedKeys=true, keyProperty="id", keyColumn="id") @InsertProvider(type=InsertWithoutPrimaryKeySqlProvider.class, method="sql") void insert(S entity) 插入一个新的实体对象到数据库中。该方法会自动忽略实体类中标记为主键的字段,适用于使用数据库自增主键的表。 插入成功后,数据库生成的主键值会自动回填到实体对象的id属性中。
- Parameters:
entity- 要插入的实体对象,不能为null
-
queryById
根据主键ID查询单条记录。该方法通过指定的主键ID从数据库中查询对应的记录,并将结果映射为实体对象。 如果未找到匹配的记录,则返回null。
- Parameters:
id- 要查询的记录的主键ID- Returns:
- 匹配的实体对象,如果未找到则返回null
-