public interface RowMapper
| 限定符和类型 | 字段和说明 |
|---|---|
static int |
DEFAULT_BATCH_SIZE |
| 限定符和类型 | 方法和说明 |
|---|---|
int |
deleteBatchByIds(String schema,
String tableName,
String primaryKey,
Collection<?> ids)
根据 多个 id 值删除多条数据
|
default int |
deleteById(String schema,
String tableName,
Row row)
根据 id 删除数据
|
int |
deleteById(String schema,
String tableName,
String primaryKey,
Object id)
根据 id 删除数据
|
int |
deleteByQuery(String schema,
String tableName,
QueryWrapper queryWrapper)
根据 queryWrapper 构建 where 条件来删除数据
|
int |
deleteBySql(String sql,
Object... args)
执行 delete sql 语言
|
int |
insert(String schema,
String tableName,
Row row)
插入 row 到数据表
|
int |
insertBatchWithFirstRowColumns(String schema,
String tableName,
List<Row> rows)
批量插入 rows 到数据表
注意,批量插入中,只会根据第一条 row 数据来构建 Sql 插入字段,若每条数据字段不一致,可能造成个别字段无法插入的情况
|
int |
insertBySql(String sql,
Object... args)
执行 insert sql 语句
|
default Page<Row> |
paginate(String schema,
String tableName,
Page<Row> page,
QueryWrapper queryWrapper)
分页查询数据
|
default List<Row> |
selectAll(String schema,
String tableName)
查询某张表的全部数据
|
default long |
selectCount(String sql,
Object... args)
查询数据,一般用于 select count(*)...
|
default long |
selectCountByQuery(String schema,
String tableName,
QueryWrapper queryWrapper)
查询数据量
|
Map |
selectFirstAndSecondColumnsAsMap(String sql,
Object... args) |
Map |
selectFirstAndSecondColumnsAsMapByQuery(String schema,
String tableName,
QueryWrapper queryWrapper) |
List<Row> |
selectListByQuery(String schema,
String tableName,
QueryWrapper queryWrapper)
根据 queryWrapper 来查询一个 row 列表
|
List<Row> |
selectListBySql(String sql,
Object... args)
通过自定义 sql 来查询一个 Row 列表
|
Object |
selectObject(String sql,
Object... args)
通过 sql 查询某一个数据,sql 执行的结果应该只有 1 行 1 列
若返回有多列,则只取第一列的值,若有多行,则会出现 TooManyResultsException 错误
|
default Object |
selectObjectByQuery(String schema,
String tableName,
QueryWrapper queryWrapper)
根据 queryWrapper 1 条数据
queryWrapper 执行的结果应该只有 1 列,例如 QueryWrapper.create().select(ACCOUNT.id).where...
|
List<Object> |
selectObjectList(String sql,
Object... args)
通过 sql 查询多行数据,sql 执行的结果应该只有 1 列
|
List<Object> |
selectObjectListByQuery(String schema,
String tableName,
QueryWrapper queryWrapper)
根据 queryWrapper 来查询数据列表
queryWrapper 执行的结果应该只有 1 列,例如 QueryWrapper.create().select(ACCOUNT.id).where...
|
default Row |
selectOneById(String schema,
String tableName,
Row row)
通过主键来查询数据
|
Row |
selectOneById(String schema,
String tableName,
String primaryKey,
Object id)
根据主键来查询数据
|
default Row |
selectOneByQuery(String schema,
String tableName,
QueryWrapper queryWrapper)
根据 queryWrapper 来查询 1 条数据
|
default Row |
selectOneBySql(String sql,
Object... args)
通过原生 SQL 查询 1 条数据,要求数据必须返回 1 条内容,否则会报错
|
int |
updateBatchById(String schema,
String tableName,
List<Row> rows)
根据主键来批量更新数据
注意:
1、此方法需要在 mysql 等链接配置需要开启 allowMultiQueries=true
2、更新成功返回的结果也可能为 0
|
int |
updateById(String schema,
String tableName,
Row row)
根据主键来更新数据
|
int |
updateByQuery(String schema,
String tableName,
Row data,
QueryWrapper queryWrapper)
根据 queryWrapper 来构建 where 条件更新数据
|
int |
updateBySql(String sql,
Object... args)
执行 update sql 语句
|
int |
updateEntity(Object entity)
更新 entity,主要用于进行批量更新的场景
|
static final int DEFAULT_BATCH_SIZE
@InsertProvider(value=RowSqlProvider.class, method="insert") int insert(@Param(value="$$schemaName") String schema, @Param(value="$$tableName") String tableName, @Param(value="$$row") Row row)
tableName - 表名row - 数据内容,当设置有主键时,主键会自动填充RowSqlProvider.insert(Map)@InsertProvider(value=RowSqlProvider.class, method="providerRawSql") int insertBySql(@Param(value="$$sql") String sql, @Param(value="$$sql_args") Object... args)
sql - insert sql 语句args - 参数Db.insertBySql(String, Object...),
RowSqlProvider.providerRawSql(Map)@InsertProvider(value=RowSqlProvider.class, method="insertBatchWithFirstRowColumns") int insertBatchWithFirstRowColumns(@Param(value="$$schemaName") String schema, @Param(value="$$tableName") String tableName, @Param(value="$$rows") List<Row> rows)
注意,批量插入中,只会根据第一条 row 数据来构建 Sql 插入字段,若每条数据字段不一致,可能造成个别字段无法插入的情况
tableName - 表名rows - 数据内容,当设置有主键时,主键会自动填充RowSqlProvider.insertBatchWithFirstRowColumns(Map)@DeleteProvider(value=RowSqlProvider.class, method="providerRawSql") int deleteBySql(@Param(value="$$sql") String sql, @Param(value="$$sql_args") Object... args)
sql - delete sql 语句args - 参数RowSqlProvider.providerRawSql(Map)default int deleteById(String schema, String tableName, Row row)
schema - 模式tableName - 表名row - id 和 值的数据,可以通过 Row.ofKey(String, Object) 来创建@DeleteProvider(value=RowSqlProvider.class, method="deleteById") int deleteById(@Param(value="$$schemaName") String schema, @Param(value="$$tableName") String tableName, @Param(value="$$primaryKey") String primaryKey, @Param(value="$$primaryValue") Object id)
schema - 模式tableName - 表名primaryKey - 主键,多个主键用英文逗号隔开id - 数据,多个主键时传入数组,例如 new Object[]{1,2}RowSqlProvider.deleteById(Map)@DeleteProvider(value=RowSqlProvider.class, method="deleteBatchByIds") int deleteBatchByIds(@Param(value="$$schemaName") String schema, @Param(value="$$tableName") String tableName, @Param(value="$$primaryKey") String primaryKey, @Param(value="$$primaryValue") Collection<?> ids)
schema - 模式tableName - 表名primaryKey - 主键ids - id 的集合RowSqlProvider.deleteBatchByIds(Map)@DeleteProvider(value=RowSqlProvider.class, method="deleteByQuery") int deleteByQuery(@Param(value="$$schemaName") String schema, @Param(value="$$tableName") String tableName, @Param(value="$$query") QueryWrapper queryWrapper)
schema - 模式tableName - 表名queryWrapper - queryWrapperRowSqlProvider.deleteByQuery(Map)@UpdateProvider(value=RowSqlProvider.class, method="providerRawSql") int updateBySql(@Param(value="$$sql") String sql, @Param(value="$$sql_args") Object... args)
sql - sql 语句args - 参数内容RowSqlProvider.providerRawSql(Map)@UpdateProvider(value=RowSqlProvider.class, method="updateById") int updateById(@Param(value="$$schemaName") String schema, @Param(value="$$tableName") String tableName, @Param(value="$$row") Row row)
schema - 模式tableName - 表名row - 数据,其必须包含主键数据列名和值RowSqlProvider.updateById(Map)@UpdateProvider(value=RowSqlProvider.class, method="updateByQuery") int updateByQuery(@Param(value="$$schemaName") String schema, @Param(value="$$tableName") String tableName, @Param(value="$$row") Row data, @Param(value="$$query") QueryWrapper queryWrapper)
schema - 模式tableName - 表名data - 更新数据queryWrapper - queryWrapperRowSqlProvider.updateByQuery(Map)@UpdateProvider(value=RowSqlProvider.class, method="updateBatchById") int updateBatchById(@Param(value="$$schemaName") String schema, @Param(value="$$tableName") String tableName, @Param(value="$$rows") List<Row> rows)
schema - 模式tableName - 表名rows - 数据,其必须包含主键数据列名和值RowSqlProvider.updateBatchById(Map)@UpdateProvider(value=RowSqlProvider.class, method="updateEntity") int updateEntity(@Param(value="$$entity") Object entity)
entity - 实体类RowSqlProvider.updateEntity(Map),
Db.updateEntitiesBatch(Collection, int)default Row selectOneBySql(String sql, Object... args)
sql - select sql 语句args - 参数default Row selectOneById(String schema, String tableName, Row row)
schema - 模式tableName - 表名row - 主键和ID的描述,通过 Row.ofKey(String, Object) 来进行构建@SelectProvider(value=RowSqlProvider.class, method="selectOneById") Row selectOneById(@Param(value="$$schemaName") String schema, @Param(value="$$tableName") String tableName, @Param(value="$$primaryKey") String primaryKey, @Param(value="$$primaryValue") Object id)
schema - 模式tableName - 表名primaryKey - 主键id - id 值RowSqlProvider.selectOneById(Map)default Row selectOneByQuery(String schema, String tableName, QueryWrapper queryWrapper)
schema - 模式tableName - 表名queryWrapper - queryWrapper@SelectProvider(value=RowSqlProvider.class, method="providerRawSql") List<Row> selectListBySql(@Param(value="$$sql") String sql, @Param(value="$$sql_args") Object... args)
sql - 自定义的 sqlargs - sql 参数@SelectProvider(value=RowSqlProvider.class, method="selectListByQuery") List<Row> selectListByQuery(@Param(value="$$schemaName") String schema, @Param(value="$$tableName") String tableName, @Param(value="$$query") QueryWrapper queryWrapper)
schema - 模式tableName - 表名queryWrapper - queryWrapperRowSqlProvider.selectListByQuery(Map)default List<Row> selectAll(String schema, String tableName)
schema - 模式tableName - 表名@SelectProvider(value=RowSqlProvider.class, method="providerRawSql") Object selectObject(@Param(value="$$sql") String sql, @Param(value="$$sql_args") Object... args)
sql - sqlargs - sql 参数@SelectProvider(value=RowSqlProvider.class, method="providerRawSql") Map selectFirstAndSecondColumnsAsMap(@Param(value="$$sql") String sql, @Param(value="$$sql_args") Object... args)
@SelectProvider(type=RowSqlProvider.class, method="selectListByQuery") Map selectFirstAndSecondColumnsAsMapByQuery(@Param(value="$$schemaName") String schema, @Param(value="$$tableName") String tableName, @Param(value="$$query") QueryWrapper queryWrapper)
@SelectProvider(value=RowSqlProvider.class, method="providerRawSql") List<Object> selectObjectList(@Param(value="$$sql") String sql, @Param(value="$$sql_args") Object... args)
sql - sql 语句args - sql 参数default long selectCount(String sql, Object... args)
sql - sql 语句args - sql 参数default Object selectObjectByQuery(String schema, String tableName, QueryWrapper queryWrapper)
schema - 模式tableName - 表名queryWrapper - queryWrapper@SelectProvider(type=RowSqlProvider.class, method="selectListByQuery") List<Object> selectObjectListByQuery(@Param(value="$$schemaName") String schema, @Param(value="$$tableName") String tableName, @Param(value="$$query") QueryWrapper queryWrapper)
queryWrapper - 查询包装器RowSqlProvider.selectListByQuery(Map)default long selectCountByQuery(String schema, String tableName, QueryWrapper queryWrapper)
schema - 模式tableName - 表名queryWrapper - 查询包装器Copyright © 2024. All rights reserved.