Interface JdbcExecutor

All Known Implementing Classes:
JdbcExecutor.Default

public interface JdbcExecutor
jdbc执行器
Author:
Maning
  • Method Details

    • of

      static JdbcExecutor of(ConfigurationBuilder configurationBuilder)
      创建jdbc执行器
      Parameters:
      configurationBuilder - 配置
      Returns:
      jdbc执行器
    • configuration

      Configuration configuration()
      获取配置
      Returns:
      配置
    • executeQuery

      <C extends Collection<T>, T> C executeQuery(String sql, List<?> params, RowMapper<T> rowMapper, C collection)
      执行查询集合
      Type Parameters:
      C - 集合类型
      T - 集合条目类型
      Parameters:
      sql - sql语句
      params - sql参数
      rowMapper - 行转换器
      collection - 集合
      Returns:
      查询结果
    • executeQueryExists

      boolean executeQueryExists(String sql, List<?> params)
      执行查询是否存在
      Parameters:
      sql - sql语句
      params - sql参数
      Returns:
      查询结果
    • executeQueryFirstRow

      <T> T executeQueryFirstRow(String sql, List<?> params, RowMapper<T> rowMapper)
      执行查询第一行数据,底层限制最多一行

      无结果行时返回 null,不会用类型的默认值或空集合代替; 需要无结果时的默认值语义,请在 MappedQuery.first(Object) 中处理.

      Type Parameters:
      T - 类型
      Parameters:
      sql - sql语句
      params - sql参数
      rowMapper - 行转换器
      Returns:
      第一行数据的映射结果,无结果行时为 null
    • executeQueryStream

      default <T> Stream<T> executeQueryStream(String sql, List<?> params, RowMapper<T> rowMapper)
      执行查询stream

      结果集读尽或遍历异常时会自动释放连接;短路操作(limit/findFirst/anyMatch 等) 不会读尽结果集,必须使用 try-with-resources 或显式 close 释放连接。

      Type Parameters:
      T - 类型
      Parameters:
      sql - sql语句
      params - sql参数
      rowMapper - 行转换器
      Returns:
      stream
    • executeQueryStream

      <T> Stream<T> executeQueryStream(String sql, List<?> params, RowMapper<T> rowMapper, Integer estimatedSize)
      执行查询stream

      结果集读尽或遍历异常时会自动释放连接;短路操作(limit/findFirst/anyMatch 等) 不会读尽结果集,必须使用 try-with-resources 或显式 close 释放连接。

      Type Parameters:
      T - 类型
      Parameters:
      sql - sql语句
      params - sql参数
      rowMapper - 行转换器
      estimatedSize - 预估条数, 仅作为 stream 的 estimateSize 提示值
      Returns:
      stream
    • executeUpdate

      int executeUpdate(String sql, List<?> params)
      执行更新
      Parameters:
      sql - sql语句
      params - sql参数
      Returns:
      变动条数|执行结果
    • executeUpdate

      int executeUpdate(String sql, List<?> params, int keyCount, String keyColumn, Type keyType, Consumer<Object[]> keyConsumer)
      执行更新并填充自增key(一般为主键)
      Parameters:
      sql - sql语句
      params - sql参数
      keyCount - 生成key的条数
      keyColumn - 自增列,可能为空,仅部分数据库需要时传入
      keyType - 自增属性类型
      keyConsumer - 自增值消费者
      Returns:
      变动条数|执行结果
    • sql

      default SqlSpec sql(String sql)
      通过sql语句获取sql操作对象
      Parameters:
      sql - 无参数sql语句
      Returns:
      Sql操作
    • sql

      default SqlSpec sql(String sql, Object... params)
      通过sql语句和参数获取sql操作对象
      Parameters:
      sql - 带有?的sql语句
      params - sql参数
      Returns:
      Sql操作
    • sql

      SqlSpec sql(String sql, List<?> params)
      通过sql语句和参数获取sql操作对象
      Parameters:
      sql - 带有?的sql语句
      params - sql参数
      Returns:
      Sql操作
    • sql

      SqlSpec sql(Statement statement)
      通过dsl语句获取sql操作对象
      Parameters:
      statement - dsl语句
      Returns:
      Sql操作