docs: 完善文档注释

This commit is contained in:
2026-05-29 00:30:34 +08:00
parent 7052a621dd
commit ca3d9c67a4
5 changed files with 103 additions and 16 deletions

View File

@@ -54,8 +54,8 @@ import xyz.zhouxy.plusone.commons.annotation.StaticFactoryMethod;
* <li>JavaBean 属性仅支持引用类型,不支持基本数据类型。</li> * <li>JavaBean 属性仅支持引用类型,不支持基本数据类型。</li>
* <li>实际使用中还是建议针对目标类型自定义 {@link RowMapper}。</li> * <li>实际使用中还是建议针对目标类型自定义 {@link RowMapper}。</li>
* </ul> * </ul>
* </p>
* @author ZhouXY * @author ZhouXY
* @since 1.0.0 * @since 1.0.0
*/ */
public class DefaultBeanRowMapper<T> implements RowMapper<T> { public class DefaultBeanRowMapper<T> implements RowMapper<T> {

View File

@@ -177,7 +177,7 @@ class JdbcOperationSupport {
* @param rowMapper 行数据映射逻辑 * @param rowMapper 行数据映射逻辑
* *
* @return generated keys * @return generated keys
* @throws SQLException 执行 SQL 遇到异常情况将抛出 * @throws SQLException 数据库执行异常
*/ */
static <T> List<T> updateAndReturnKeys(Connection conn, String sql, Object[] params, RowMapper<T> rowMapper) static <T> List<T> updateAndReturnKeys(Connection conn, String sql, Object[] params, RowMapper<T> rowMapper)
throws SQLException { throws SQLException {

View File

@@ -42,9 +42,13 @@ public interface JdbcOperations {
/** /**
* 执行查询,并按照自定义处理逻辑对结果进行处理,将结果转换为指定类型并返回 * 执行查询,并按照自定义处理逻辑对结果进行处理,将结果转换为指定类型并返回
* *
* @param <T> 返回结果类型
* @param sql SQL * @param sql SQL
* @param params 参数 * @param params 参数
* @param resultHandler 结果处理器,用于处理 {@link ResultSet} * @param resultHandler 结果处理器,用于处理 {@link ResultSet}
*
* @return 查询结果
* @throws SQLException SQL异常
*/ */
<T> T query(String sql, Object[] params, ResultHandler<T> resultHandler) <T> T query(String sql, Object[] params, ResultHandler<T> resultHandler)
throws SQLException; throws SQLException;
@@ -52,8 +56,12 @@ public interface JdbcOperations {
/** /**
* 执行查询,并按照自定义处理逻辑对结果进行处理,将结果转换为指定类型并返回 * 执行查询,并按照自定义处理逻辑对结果进行处理,将结果转换为指定类型并返回
* *
* @param <T> 返回结果类型
* @param sql SQL * @param sql SQL
* @param resultHandler 结果处理器,用于处理 {@link ResultSet} * @param resultHandler 结果处理器,用于处理 {@link ResultSet}
*
* @return 查询结果
* @throws SQLException SQL异常
*/ */
default <T> T query(String sql, ResultHandler<T> resultHandler) default <T> T query(String sql, ResultHandler<T> resultHandler)
throws SQLException { throws SQLException {
@@ -67,9 +75,13 @@ public interface JdbcOperations {
/** /**
* 执行查询,将查询结果的每一行数据按照指定逻辑进行处理,返回结果列表 * 执行查询,将查询结果的每一行数据按照指定逻辑进行处理,返回结果列表
* *
* @param <T> 返回结果列表中每一行数据的类型
* @param sql SQL * @param sql SQL
* @param params 参数 * @param params 参数
* @param rowMapper {@link ResultSet} 中每一行的数据的处理逻辑 * @param rowMapper {@link ResultSet} 中每一行的数据的处理逻辑
*
* @return 查询结果列表
* @throws SQLException SQL 异常
*/ */
<T> List<T> queryList(String sql, Object[] params, RowMapper<T> rowMapper) <T> List<T> queryList(String sql, Object[] params, RowMapper<T> rowMapper)
throws SQLException; throws SQLException;
@@ -77,9 +89,13 @@ public interface JdbcOperations {
/** /**
* 执行查询,返回结果映射为指定的类型。当结果为单列时使用 * 执行查询,返回结果映射为指定的类型。当结果为单列时使用
* *
* @param <T> 目标类型
* @param sql SQL * @param sql SQL
* @param params 参数 * @param params 参数
* @param clazz 将结果映射为指定的类型 * @param clazz 目标类型
*
* @return 映射结果。如果查询结果为空,则返回空列表
* @throws SQLException SQL异常
*/ */
<T> List<T> queryList(String sql, Object[] params, Class<T> clazz) <T> List<T> queryList(String sql, Object[] params, Class<T> clazz)
throws SQLException; throws SQLException;
@@ -89,6 +105,9 @@ public interface JdbcOperations {
* *
* @param sql SQL * @param sql SQL
* @param params 参数列表 * @param params 参数列表
*
* @return 结果列表
* @throws SQLException SQL 异常
*/ */
List<Map<String, Object>> queryList(String sql, Object[] params) List<Map<String, Object>> queryList(String sql, Object[] params)
throws SQLException; throws SQLException;
@@ -96,8 +115,12 @@ public interface JdbcOperations {
/** /**
* 执行查询,将查询结果的每一行数据按照指定逻辑进行处理,返回结果列表 * 执行查询,将查询结果的每一行数据按照指定逻辑进行处理,返回结果列表
* *
* @param <T> 目标类型
* @param sql SQL * @param sql SQL
* @param rowMapper {@link ResultSet} 中每一行的数据的处理逻辑 * @param rowMapper {@link ResultSet} 中每一行的数据的处理逻辑
*
* @return 结果列表
* @throws SQLException SQL 异常
*/ */
default <T> List<T> queryList(String sql, RowMapper<T> rowMapper) default <T> List<T> queryList(String sql, RowMapper<T> rowMapper)
throws SQLException { throws SQLException {
@@ -107,8 +130,12 @@ public interface JdbcOperations {
/** /**
* 执行查询,返回结果映射为指定的类型。当结果为单列时使用 * 执行查询,返回结果映射为指定的类型。当结果为单列时使用
* *
* @param <T> 目标类型
* @param sql SQL * @param sql SQL
* @param clazz 将结果映射为指定的类型 * @param clazz 将结果映射为指定的类型
*
* @return 查询结果
* @throws SQLException SQL 异常
*/ */
default <T> List<T> queryList(String sql, Class<T> clazz) default <T> List<T> queryList(String sql, Class<T> clazz)
throws SQLException { throws SQLException {
@@ -119,6 +146,9 @@ public interface JdbcOperations {
* 执行查询,每一行数据映射为 {@code Map<String, Object>},返回结果列表 * 执行查询,每一行数据映射为 {@code Map<String, Object>},返回结果列表
* *
* @param sql SQL * @param sql SQL
*
* @return 结果列表
* @throws SQLException SQL 异常
*/ */
default List<Map<String, Object>> queryList(String sql) default List<Map<String, Object>> queryList(String sql)
throws SQLException { throws SQLException {
@@ -132,9 +162,13 @@ public interface JdbcOperations {
/** /**
* 执行查询,将查询结果的第一行数据按照指定逻辑进行处理,返回 {@link Optional} * 执行查询,将查询结果的第一行数据按照指定逻辑进行处理,返回 {@link Optional}
* *
* @param <T> 目标类型
* @param sql SQL * @param sql SQL
* @param params 参数 * @param params 参数
* @param rowMapper {@link ResultSet} 中每一行的数据的处理逻辑 * @param rowMapper {@link ResultSet} 中每一行的数据的处理逻辑
*
* @return 查询结果
* @throws SQLException SQL 异常
*/ */
<T> Optional<T> queryFirst(String sql, Object[] params, RowMapper<T> rowMapper) <T> Optional<T> queryFirst(String sql, Object[] params, RowMapper<T> rowMapper)
throws SQLException; throws SQLException;
@@ -146,15 +180,21 @@ public interface JdbcOperations {
* @param sql SQL * @param sql SQL
* @param params 参数 * @param params 参数
* @param clazz 目标类型 * @param clazz 目标类型
*
* @return 查询结果
* @throws SQLException SQL 异常
*/ */
<T> Optional<T> queryFirst(String sql, Object[] params, Class<T> clazz) <T> Optional<T> queryFirst(String sql, Object[] params, Class<T> clazz)
throws SQLException; throws SQLException;
/** /**
* 执行查询,将第一行数据转为 Map<String, Object> * 执行查询,将第一行数据转为 Map&lt;String, Object&gt;
* *
* @param sql SQL * @param sql SQL
* @param params 参数 * @param params 参数
*
* @return 查询结果
* @throws SQLException SQL 异常
*/ */
Optional<Map<String, Object>> queryFirst(String sql, Object[] params) Optional<Map<String, Object>> queryFirst(String sql, Object[] params)
throws SQLException; throws SQLException;
@@ -162,8 +202,12 @@ public interface JdbcOperations {
/** /**
* 执行查询,将查询结果的第一行数据按照指定逻辑进行处理,返回 {@link Optional} * 执行查询,将查询结果的第一行数据按照指定逻辑进行处理,返回 {@link Optional}
* *
* @param <T> 目标类型
* @param sql SQL * @param sql SQL
* @param rowMapper {@link ResultSet} 中每一行的数据的处理逻辑 * @param rowMapper {@link ResultSet} 中每一行的数据的处理逻辑
*
* @return 查询结果
* @throws SQLException SQL 异常
*/ */
default <T> Optional<T> queryFirst(String sql, RowMapper<T> rowMapper) default <T> Optional<T> queryFirst(String sql, RowMapper<T> rowMapper)
throws SQLException { throws SQLException {
@@ -176,6 +220,9 @@ public interface JdbcOperations {
* @param <T> 目标类型 * @param <T> 目标类型
* @param sql SQL * @param sql SQL
* @param clazz 目标类型 * @param clazz 目标类型
*
* @return 第一行第一列的值,如果查询结果为空,则返回 {@code Optional#empty()}
* @throws SQLException SQL 异常
*/ */
default <T> Optional<T> queryFirst(String sql, Class<T> clazz) default <T> Optional<T> queryFirst(String sql, Class<T> clazz)
throws SQLException { throws SQLException {
@@ -183,9 +230,12 @@ public interface JdbcOperations {
} }
/** /**
* 执行查询,将第一行数据转为 Map<String, Object> * 执行查询,将第一行数据转为 Map&lt;String, Object&gt;
* *
* @param sql SQL * @param sql SQL
*
* @return 查询结果
* @throws SQLException SQL 异常
*/ */
default Optional<Map<String, Object>> queryFirst(String sql) default Optional<Map<String, Object>> queryFirst(String sql)
throws SQLException { throws SQLException {
@@ -195,10 +245,10 @@ public interface JdbcOperations {
/** /**
* 查询第一行第一列并转换为 boolean * 查询第一行第一列并转换为 boolean
* *
* <p>
* <b>注:如果查询结果为空,则返回 {@code false}。</b>
*
* @param sql SQL * @param sql SQL
*
* @return 查询结果。如果查询结果为空,则返回 {@code false}。
* @throws SQLException SQL 异常
*/ */
default boolean queryBoolean(String sql) default boolean queryBoolean(String sql)
throws SQLException { throws SQLException {
@@ -208,10 +258,12 @@ public interface JdbcOperations {
/** /**
* 查询第一行第一列并转换为 boolean * 查询第一行第一列并转换为 boolean
* *
* <p>
* <b>注:如果查询结果为空,则返回 {@code false}。</b>
*
* @param sql SQL * @param sql SQL
* @param params 参数
*
* @return 查询结果。如果查询结果为空,则返回 {@code false}
*
* @throws SQLException SQL 异常
*/ */
boolean queryBoolean(String sql, Object[] params) boolean queryBoolean(String sql, Object[] params)
throws SQLException; throws SQLException;
@@ -226,6 +278,7 @@ public interface JdbcOperations {
* @param sql 要执行的 SQL * @param sql 要执行的 SQL
* @param params 参数 * @param params 参数
* @return 更新记录数 * @return 更新记录数
* @throws SQLException SQL 异常
*/ */
int update(String sql, Object[] params) int update(String sql, Object[] params)
throws SQLException; throws SQLException;
@@ -235,6 +288,8 @@ public interface JdbcOperations {
* *
* @param sql 要执行的 SQL * @param sql 要执行的 SQL
* @return 更新记录数 * @return 更新记录数
*
* @throws SQLException 数据库执行异常
*/ */
default int update(String sql) default int update(String sql)
throws SQLException { throws SQLException {
@@ -248,8 +303,10 @@ public interface JdbcOperations {
* @param params 参数 * @param params 参数
* @param rowMapper 行数据映射逻辑 * @param rowMapper 行数据映射逻辑
* *
* @param <T> 映射结果类型
*
* @return generated keys * @return generated keys
* @throws SQLException 执行 SQL 遇到异常情况将抛出 * @throws SQLException 数据库执行异常
*/ */
<T> List<T> updateAndReturnKeys(String sql, Object[] params, RowMapper<T> rowMapper) <T> List<T> updateAndReturnKeys(String sql, Object[] params, RowMapper<T> rowMapper)
throws SQLException; throws SQLException;
@@ -260,8 +317,10 @@ public interface JdbcOperations {
* @param sql 要执行的 SQL * @param sql 要执行的 SQL
* @param rowMapper 行数据映射逻辑 * @param rowMapper 行数据映射逻辑
* *
* @param <T> 映射结果类型
*
* @return generated keys * @return generated keys
* @throws SQLException 执行 SQL 遇到异常情况将抛出 * @throws SQLException 数据库执行异常
*/ */
default <T> List<T> updateAndReturnKeys(String sql, RowMapper<T> rowMapper) default <T> List<T> updateAndReturnKeys(String sql, RowMapper<T> rowMapper)
throws SQLException { throws SQLException {
@@ -280,6 +339,9 @@ public interface JdbcOperations {
* @param sql SQL 语句 * @param sql SQL 语句
* @param params 参数列表 * @param params 参数列表
* @param batchSize 每次批量更新的数据量 * @param batchSize 每次批量更新的数据量
*
* @return 批量更新的结果
* @throws SQLException SQL 异常
*/ */
BatchUpdateResult batchUpdate(String sql, @Nullable Collection<Object[]> params, int batchSize) BatchUpdateResult batchUpdate(String sql, @Nullable Collection<Object[]> params, int batchSize)
throws SQLException; throws SQLException;
@@ -296,6 +358,9 @@ public interface JdbcOperations {
* @param quietly 静默分批更新。 * @param quietly 静默分批更新。
* 如果 {@code quietly} 为 {@code true},分批更新过程中发生异常不中断操作; * 如果 {@code quietly} 为 {@code true},分批更新过程中发生异常不中断操作;
* 如果 {@code quietly} 为 {@code false},分批更新过程中发生异常即中断操作,并返回结果。 * 如果 {@code quietly} 为 {@code false},分批更新过程中发生异常即中断操作,并返回结果。
*
* @return 批次更新结果
* @throws SQLException 数据库执行异常
*/ */
BatchUpdateResult batchUpdate(String sql, @Nullable Collection<Object[]> params, BatchUpdateResult batchUpdate(String sql, @Nullable Collection<Object[]> params,
int batchSize, boolean quietly) int batchSize, boolean quietly)

View File

@@ -34,6 +34,11 @@ public interface ResultHandler<T> {
/** /**
* 将 {@link ResultSet} 转换为指定类型的对象 * 将 {@link ResultSet} 转换为指定类型的对象
*
* @param resultSet {@link ResultSet}
* @return 转换后的对象
*
* @throws SQLException 数据库执行异常
*/ */
T handle(ResultSet resultSet) throws SQLException; T handle(ResultSet resultSet) throws SQLException;
} }

View File

@@ -53,12 +53,29 @@ public interface RowMapper<T> {
return result; return result;
}; };
/** 默认实现的将 {@link ResultSet} 转换为 Java Bean 的 {@link RowMapper}。 */ /**
* 默认实现的将 {@link ResultSet} 转换为 Java Bean 的 {@link RowMapper}。
*
* @param beanType Java Bean 的类型
* @param <T> Java Bean 的类型
*
* @return {@link DefaultBeanRowMapper}
* @throws SQLException 如果创建 {@link DefaultBeanRowMapper} 失败
*/
static <T> RowMapper<T> beanRowMapper(Class<T> beanType) throws SQLException { static <T> RowMapper<T> beanRowMapper(Class<T> beanType) throws SQLException {
return DefaultBeanRowMapper.of(beanType); return DefaultBeanRowMapper.of(beanType);
} }
/** 默认实现的将 {@link ResultSet} 转换为 Java Bean 的 {@link RowMapper}。 */ /**
* 默认实现的将 {@link ResultSet} 转换为 Java Bean 的 {@link RowMapper}。
*
* @param beanType Java Bean 的类型
* @param propertyColMap Java Bean 属性名与数据库列名的映射关系
* @param <T> Java Bean 的类型
*
* @return {@link DefaultBeanRowMapper}
* @throws SQLException 如果创建 {@link DefaultBeanRowMapper} 失败
*/
static <T> RowMapper<T> beanRowMapper(Class<T> beanType, Map<String, String> propertyColMap) static <T> RowMapper<T> beanRowMapper(Class<T> beanType, Map<String, String> propertyColMap)
throws SQLException { throws SQLException {
return DefaultBeanRowMapper.of(beanType, propertyColMap); return DefaultBeanRowMapper.of(beanType, propertyColMap);