接口 FinalSql

所有已知实现类:
FinalSqlManage

public interface FinalSql
作者:
lingkang Created by 2022/4/12 对外操作接口
  • 方法详细资料

    • getId

      int getId()
      每个 FinalSql实现的唯一ID
      返回:
    • select

      <T> List<T> select(Class<T> clazz)
      查询
      参数:
      clazz - 表映射实体类
      返回:
    • select

      <T> List<T> select(Class<T> clazz, Condition condition)
      条件查询
      参数:
      clazz - 表映射实体类
      condition - 条件
      返回:
    • selectOne

      @Nullable <T> T selectOne(Class<T> clazz)
      查询返回一行
      类型参数:
      T -
      参数:
      clazz - 表映射实体类
      返回:
    • selectOne

      @Nullable <T> T selectOne(Class<T> clazz, Condition condition)
      查询返回一行
      参数:
      clazz - 表映射实体类
      condition - 条件
      返回:
    • selectCount

      <T> int selectCount(Class<T> clazz)
      总数查询
      参数:
      clazz - 表映射实体类
      返回:
    • selectCount

      <T> int selectCount(Class<T> clazz, Condition condition)
      总数查询
      参数:
      clazz - 表映射实体类
      condition - 条件
      返回:
    • selectForList

      <T> List<T> selectForList(String sql, Class<T> resultClass)
      执行SQL查询返回对象
      类型参数:
      T -
      参数:
      sql -
      resultClass - 对象、Map或者 String.class || Integer.class || Long.class || Boolean.class || Byte.class || Double.class || Float.class || Short.class;
      返回:
    • selectForListRow

      <T> List<T> selectForListRow(String sql, Class<T> t, int row)
      类型参数:
      T -
      参数:
      sql -
      t - 对象、Map或者 String.class || Integer.class || Long.class || Boolean.class || Byte.class || Double.class || Float.class || Short.class;
      row - 指定返回的行数
      返回:
    • selectForList

      @Nullable <T> List<T> selectForList(String sql, Class<T> t, Object... param)
      执行SQL查询返回对象
      类型参数:
      T -
      参数:
      sql -
      t - 对象、Map或者 String.class || Integer.class || Long.class || Boolean.class || Byte.class || Double.class || Float.class || Short.class;
      param - sql中的 ? 入参
      返回:
    • selectForList

      <T> List<T> selectForList(String sql, Class<T> t, List param)
      执行SQL查询返回对象
      类型参数:
      T -
      参数:
      sql -
      t - 对象、Map或者 String.class || Integer.class || Long.class || Boolean.class || Byte.class || Double.class || Float.class || Short.class;
      param -
      返回:
    • selectForListRow

      <T> List<T> selectForListRow(String sql, Class<T> t, int row, Object... param)
      查询返回指定行数,受方言处理影响,针对不同数据库会有不同表现,严格编写SQL
      类型参数:
      T -
      参数:
      sql -
      t - 对象、Map或者 String.class || Integer.class || Long.class || Boolean.class || Byte.class || Double.class || Float.class || Short.class;
      row - 指定返回的行数
      param -
      返回:
    • selectForListRow

      <T> List<T> selectForListRow(String sql, Class<T> t, int row, List param)
      查询返回指定行数,受方言处理影响,针对不同数据库会有不同表现,严格编写SQL
      类型参数:
      T -
      参数:
      sql -
      t - 对象、Map或者 String.class || Integer.class || Long.class || Boolean.class || Byte.class || Double.class || Float.class || Short.class;
      row -
      param -
      返回:
    • selectForObject

      @Nullable <T> T selectForObject(String sql, Class<T> t)
      执行SQL返回对象
      类型参数:
      T -
      参数:
      sql -
      t - 对象、Map或者 String.class || Integer.class || Long.class || Boolean.class || Byte.class || Double.class || Float.class || Short.class;
      返回:
    • selectForObject

      @Nullable <T> T selectForObject(String sql, Class<T> t, Object... param)
      执行SQL返回对象
      类型参数:
      T -
      参数:
      sql -
      t - 对象、Map或者 String.class || Integer.class || Long.class || Boolean.class || Byte.class || Double.class || Float.class || Short.class;
      param -
      返回:
    • selectForObject

      @Nullable <T> T selectForObject(String sql, Class<T> t, List param)
      执行SQL返回对象
      类型参数:
      T -
      参数:
      sql -
      t - 对象、Map或者 String.class || Integer.class || Long.class || Boolean.class || Byte.class || Double.class || Float.class || Short.class;
      param -
      返回:
    • selectForMap

      Map selectForMap(String sql)
      将查询结果转化为 map
      参数:
      sql -
      返回:
    • selectForMap

      Map selectForMap(String sql, Object... param)
      将查询结果转化为 map
      参数:
      sql -
      param -
      返回:
    • selectForMap

      Map selectForMap(String sql, List param)
      将查询结果转化为 map
      参数:
      sql -
      param -
      返回:
    • insert

      <T> int insert(T entity)
      插入数据
      参数:
      entity -
      返回:
    • insert

      <T> int insert(T entity, ResultCallback<T> rc)
      手动处理插入
      类型参数:
      T -
      参数:
      entity -
      rc - 回调函数
      返回:
    • batchInsert

      <T> int batchInsert(List<T> entity) throws FinalException
      批量插入
      类型参数:
      T -
      参数:
      entity -
      返回:
      抛出:
      FinalException
    • insertReturnGeneratedKey

      <T> T insertReturnGeneratedKey(String sql, Class<T> classType)
      插入返回主键值,若是联合主键,将只会返回一个key
      类型参数:
      T -
      参数:
      sql -
      classType -
      返回:
    • insertReturnGeneratedKey

      <T> T insertReturnGeneratedKey(String sql, Class<T> classType, List<Object> param)
      插入返回主键值,若是联合主键,将只会返回一个key
      类型参数:
      T -
      参数:
      sql -
      classType -
      param -
      返回:
    • update

      <T> int update(T entity)
      更新数据,会根据 @Id注解的字段作为条件更新
      参数:
      entity -
      返回:
    • update

      <T> int update(T entity, Condition condition)
      更新数据,会根据 @Id注解的字段作为条件更新 和入参 Condition 条件来更新
      参数:
      entity -
      condition - 条件
      返回:
    • delete

      <T> int delete(T entity)
      删除数据,根据实体的 @id 字段作为条件删除
      参数:
      entity -
      返回:
    • delete

      <T> int delete(T entity, Condition condition)
      删除数据,若条件Condition不为空,按 Condition 删除,否则根据实体的 @id 字段作为条件删除
      参数:
      entity -
      condition - 条件
      返回:
    • deleteByIds

      <T> int deleteByIds(Class<T> entity, Object... ids)
      根据id删除数据
      类型参数:
      T -
      参数:
      entity -
      ids -
      返回:
    • deleteByIds

      <T> int deleteByIds(Class<T> entity, List ids)
      根据id删除数据
      类型参数:
      T -
      参数:
      entity -
      ids -
      返回:
    • nativeSelect

      <T> List<T> nativeSelect(String sql, ResultCallback<T> callback) throws FinalException
      执行原生查询SQL语句,可能会返回空 ArrayList,需要注意SQL注入
      参数:
      sql -
      callback -
      返回:
      new ArrayList()
      抛出:
      FinalException
    • nativeSelect

      <T> List<T> nativeSelect(String sql, ResultCallback<T> callback, Object... param) throws FinalException
      执行原生查询SQL语句,可能会返回空 ArrayList, 在SQL中使用 ? 代表入参,可防止SQL注入风险
      类型参数:
      T -
      参数:
      sql -
      callback -
      param -
      返回:
      抛出:
      FinalException
    • nativeSelect

      <T> List<T> nativeSelect(String sql, ResultCallback<T> callback, List param) throws FinalException
      执行原生查询SQL语句,可能会返回空 ArrayList, 在SQL中使用 ? 代表入参,可防止SQL注入风险
      类型参数:
      T -
      参数:
      sql -
      callback -
      param -
      返回:
      抛出:
      FinalException
    • nativeUpdate

      int nativeUpdate(String sql) throws FinalException
      执行原生更新SQL
      参数:
      sql -
      返回:
      抛出:
      FinalException
    • nativeUpdate

      int nativeUpdate(String sql, Object... param) throws FinalException
      执行原生更新SQL
      参数:
      sql -
      param -
      返回:
      抛出:
      FinalException
    • nativeUpdate

      int nativeUpdate(String sql, List param) throws FinalException
      执行原生更新SQL
      参数:
      sql -
      param -
      返回:
      抛出:
      FinalException
    • nativeQueryRow

      void nativeQueryRow(String sql, ResultCallback callback) throws FinalException
      执行查询回调,需要手动判断结果是否为空: while(result.next()){ ... }
      参数:
      sql -
      callback -
      抛出:
      FinalException
    • getDataSource

      DataSource getDataSource()
      获取 DataSource
      返回:
    • getConnection

      Connection getConnection()
      获取连接对象
      返回:
    • beginTransaction

      void beginTransaction()
      开始事务 设置当前事务的隔离级别:(开启事务后再设置) finalSql.getConnection().setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
    • commitTransaction

      void commitTransaction()
      提交事务
    • rollbackTransaction

      void rollbackTransaction()
      回滚事务
    • isOpenTransaction

      boolean isOpenTransaction()
      判断当前线程是否已经开启事务
      返回:
      true 已经开启事务
    • getMapper

      <T> T getMapper(Class<T> clazz)
      获取mapper映射接口
      类型参数:
      T -
      参数:
      clazz -
      返回:
    • startPage

      void startPage(Integer page, Integer size)
      开始一个分页,执行FinalPageHelper.startPage 应该接着查询操作,非查询操作会导致异常
      参数:
      page - 开始页,从 1 开始
      size - 页长度
    • getPageInfo

      PageInfo getPageInfo()
      返回:
      获取分页数据,每个startPage对个一个getPageInfo,第二次getPageInfo将会抛出异常
    • getSqlConfig

      SqlConfig getSqlConfig()