From 02aaaee3a0cb6b58345656a822674155ce46135d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=80=E6=BA=90=E6=B5=B7=E5=93=A5?= Date: Wed, 1 Mar 2023 17:26:35 +0800 Subject: [PATCH] add code comment to Db.java --- .../java/com/mybatisflex/core/row/Db.java | 212 ++++++++++++++++++ 1 file changed, 212 insertions(+) diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/row/Db.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/row/Db.java index 8f83b265..383483d9 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/row/Db.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/row/Db.java @@ -49,126 +49,338 @@ public class Db { }); } + /** + * 直接编写 sql 插入数据 + * + * @param sql sql 内容 + * @param args sql 参数 + */ public static int insertBySql(String sql, Object... args) { return invoker().insertBySql(sql, args); } + /** + * 网 tableName 插入一条 row 数据 + * + * @param tableName 表名 + * @param row 数据 + */ public static int insertRow(String tableName, Row row) { return invoker().insertRow(tableName, row); } + /** + * 批量插入数据 + * + * @param tableName 表名 + * @param rows 数据 + */ public static int[] insertBatch(String tableName, Collection rows) { return insertBatch(tableName, rows, rows.size()); } + /** + * 批量插入数据 + * + * @param tableName 表名 + * @param rows 数据 + * @param batchSize 每次提交的数据量 + */ public static int[] insertBatch(String tableName, Collection rows, int batchSize) { return invoker().insertBatch(tableName, rows, batchSize); } + /** + * 批量插入数据,根据第一条内容来构建插入的字段,效率比 {@link #insertBatch(String, Collection, int)} 高 + * + * @param tableName 表名 + * @param rows 数据 + */ public static int insertBatchWithFirstRowColumns(String tableName, List rows) { return invoker().insertBatchWithFirstRowColumns(tableName, rows); } + /** + * 编写 delete sql 来删除数据 + * + * @param sql sql 内容 + * @param args 参数 + */ public static int deleteBySql(String sql, Object... args) { return invoker().deleteBySql(sql, args); } + /** + * 根据主键来删除数据,其中 row 是通过 {@link Row#ofKey(RowKey, Object)} 来进行构建的 + * + * @param tableName 表名 + * @param row 主键 和 id值 + */ public static int deleteById(String tableName, Row row) { return invoker().deleteById(tableName, row); } + /** + * 根据主键来删除 1 条数据 + * + * @param tableName 表名 + * @param primaryKey 主键字段名称 + * @param id 主键值 + */ public static int deleteById(String tableName, String primaryKey, Object id) { return invoker().deleteById(tableName, primaryKey, id); } + /** + * 根据 id 集合来批量删除数据 + * + * @param tableName 表名 + * @param primaryKey 主键字段名称 + * @param ids id 集合 + */ public static int deleteBatchByIds(String tableName, String primaryKey, Collection ids) { return invoker().deleteBatchByIds(tableName, primaryKey, ids); } + /** + * 根据 map 构建的 where 条件来删除数据 + * + * @param tableName 表名 + * @param whereColumns where 条件 + */ public static int deleteByByMap(String tableName, Map whereColumns) { return invoker().deleteByByMap(tableName, whereColumns); } + /** + * 根据 query 构建的条件来删除数据 + * + * @param tableName 表名 + * @param queryWrapper query + */ public static int deleteByQuery(String tableName, QueryWrapper queryWrapper) { return invoker().deleteByQuery(tableName, queryWrapper); } + + /** + * 根据原生 sql 来更新数据 + * + * @param sql sql 内容 + * @param args sql 参数 + */ public static int updateBySql(String sql, Object... args) { return invoker().updateBySql(sql, args); } + + /** + * 根据 id 来更新数据 + * + * @param tableName 表情 + * @param row id 及其内容 + */ public static int updateById(String tableName, Row row) { return invoker().updateById(tableName, row); } + /** + * 根据 map 构建的条件来更新数据 + * + * @param tableName 表名 + * @param data 数据内容 + * @param whereColumns where 条件 + */ public static int updateByMap(String tableName, Row data, Map whereColumns) { return invoker().updateByMap(tableName, data, whereColumns); } + + /** + * 根据 query 构建的条件来更新数据 + * + * @param tableName 表名 + * @param data 数据内容 + * @param queryWrapper queryWrapper 条件 + */ public static int updateByQuery(String tableName, Row data, QueryWrapper queryWrapper) { return invoker().updateByQuery(tableName, data, queryWrapper); } + + /** + * 根据主键来批量更新数据 + * + * @param tableName 表名 + * @param rows 还有主键的数据 + */ public static int updateBatchById(String tableName, List rows) { return invoker().updateBatchById(tableName, rows); } + + /** + * 根据 sql 来查询 1 条数据 + * + * @param sql sql 内容 + * @param args sql 参数 + */ public static Row selectOneBySql(String sql, Object... args) { return invoker().selectOneBySql(sql, args); } + + /** + * 根据 id 来查询 1 条数据 + * + * @param tableName 表名 + * @param row 主键和 id 值 + */ public static Row selectOneById(String tableName, Row row) { return invoker().selectOneById(tableName, row); } + + /** + * 根据主键来查询 1 条数据 + * + * @param tableName 表名 + * @param primaryKey 主键字段名称 + * @param id 主键值 + */ public static Row selectOneById(String tableName, String primaryKey, Object id) { return invoker().selectOneById(tableName, primaryKey, id); } + + /** + * 根据 map 来查询 1 条数据 + * + * @param tableName 表名 + * @param whereColumns where条件 + */ public static Row selectOneByMap(String tableName, Map whereColumns) { return invoker().selectOneByMap(tableName, whereColumns); } + + /** + * 根据 queryWrapper 来查询 1 条数据 + * + * @param tableName 表名 + * @param queryWrapper queryWrapper + */ public static Row selectOneByQuery(String tableName, QueryWrapper queryWrapper) { return invoker().selectOneByQuery(tableName, queryWrapper); } + + /** + * 通过 sql 来查询多条数据 + * + * @param sql sql 内容 + * @param args sql 参数 + */ public static List selectListBySql(String sql, Object... args) { return invoker().selectListBySql(sql, args); } + + /** + * 通过 map 构建的条件来查询数据列表 + * + * @param tableName 表名 + * @param whereColumns where 条件 + */ public static List selectListByMap(String tableName, Map whereColumns) { return invoker().selectListByMap(tableName, whereColumns); } + + /** + * 通过 query 来查询数据列表 + * + * @param tableName 表名 + * @param queryWrapper query 条件 + */ public static List selectListByQuery(String tableName, QueryWrapper queryWrapper) { return invoker().selectListByQuery(tableName, queryWrapper); } + /** + * 查询某张表的所有数据 + * + * @param tableName 表名 + */ public static List selectAll(String tableName) { return invoker().selectAll(tableName); } + /** + * 查询某个内容,数据返回的应该只有 1 行 1 列 + * + * @param sql sql 内容 + * @param args sql 参数 + */ public static Object selectObject(String sql, Object... args) { return invoker().selectObject(sql, args); } + + /** + * 查询某列内容,数据返回应该有 多行 1 列 + * + * @param sql sql 内容 + * @param args sql 参数 + */ public static List selectObjectList(String sql, Object... args) { return invoker().selectObjectList(sql, args); } + + /** + * 查收 count 数据,一般用于 select count(*)... + * 或者返回的内容是一行1列,且是数值类型的也可以用此方法 + * + * @param sql sql 内容 + * @param args sql 参数 + */ public static long selectCount(String sql, Object... args) { return invoker().selectCount(sql, args); } + + /** + * 根据 query 构建的条件来查询数据量 + * + * @param tableName 表名 + * @param queryWrapper query 条件 + */ public static long selectCountByQuery(String tableName, QueryWrapper queryWrapper) { return invoker().selectCountByQuery(tableName, queryWrapper); } + + /** + * 分页查询 + * + * @param tableName 表名 + * @param pageNumber 当前的页码 + * @param pageSize 每页的数据量 + * @param queryWrapper 条件 + */ public static Page paginate(String tableName, int pageNumber, int pageSize, QueryWrapper queryWrapper) { return invoker().paginate(tableName, pageNumber, pageSize, queryWrapper); } + + /** + * 分页查询 + * + * @param tableName 表名 + * @param page page 对象,若 page 有 totalCount 值,则不会再去查询分类的数据总量 + * @param queryWrapper 条件 + */ public static Page paginate(String tableName, Page page, QueryWrapper queryWrapper) { return invoker().paginate(tableName, page, queryWrapper); }