Class SQLProvider

java.lang.Object
com.imyeyu.spring.util.BaseSQLProvider
com.imyeyu.spring.util.SQLProvider
Direct Known Subclasses:
RawSQLProvider

public class SQLProvider extends BaseSQLProvider
通用 Mapper SQL 代理器

继承 BaseSQLProvider,为 BaseMapper 提供适配层

Since:
2025-02-05 23:34
Author:
夜雨
  • Constructor Details

    • SQLProvider

      public SQLProvider()
      创建 SQL 提供器
  • Method Details

    • selectByPage

      public String selectByPage(org.apache.ibatis.builder.annotation.ProviderContext context, @Param("page") Page<?> page)
      根据 Page 对象查询数据列表
      Parameters:
      context - 代理器上下文
      page - 分页参数
      Returns:
      SQL
    • countByPage

      public String countByPage(org.apache.ibatis.builder.annotation.ProviderContext context, @Param("page") Page<?> page)
      根据 Page 对象统计数据量
      Parameters:
      context - 代理器上下文
      page - 分页参数
      Returns:
      SQL
    • selectAll

      public String selectAll(org.apache.ibatis.builder.annotation.ProviderContext context)
      查询全部数据
      Parameters:
      context - 代理器上下文
      Returns:
      SQL
    • insert

      public String insert(org.apache.ibatis.builder.annotation.ProviderContext context, Object entity)
      插入

      不实现 Creatable 也允许调用是合理的,某些数据属于关联数据,不参与主创建过程

      Parameters:
      context - 代理器上下文
      entity - 实体
      Returns:
      SQL
    • select

      public String select(org.apache.ibatis.builder.annotation.ProviderContext context, @Param("id") Object id)
      根据 ID 查询
      Parameters:
      context - 代理器上下文
      id - ID
      Returns:
      SQL
    • selectByExample

      public String selectByExample(@Param("entity") Object entity, @Param("logic") Logic logic)
      根据实体非空字段使用等号查询
      Parameters:
      entity - 实体
      logic - 条件连接逻辑
      Returns:
      SQL
    • selectAllByExample

      public String selectAllByExample(@Param("entity") Object entity, @Param("logic") Logic logic)
      根据实体非空字段使用等号查询
      Parameters:
      entity - 实体
      logic - 条件连接逻辑
      Returns:
      SQL
    • update

      public String update(Object entity)
      根据 ID 更新,需要实体实现 Updatable
      Parameters:
      entity - 实体
      Returns:
      SQL
    • updateSelective

      public String updateSelective(Object entity)
      根据 ID 更新,选择性更新非空属性,需要实体实现 Updatable
      Parameters:
      entity - 实体
      Returns:
      SQL
    • delete

      public String delete(org.apache.ibatis.builder.annotation.ProviderContext context, @Param("id") Object id)
      根据 ID 软删除,需要实体实现 Deletable
      Parameters:
      context - 代理器上下文
      id - ID
      Returns:
      SQL
    • deleteAllByExample

      public String deleteAllByExample(@Param("entity") Object entity, @Param("logic") Logic logic)
      根据示例批量逻辑删除
      Parameters:
      entity - 实体
      logic - 条件连接逻辑
      Returns:
      SQL
    • destroy

      public String destroy(org.apache.ibatis.builder.annotation.ProviderContext context, @Param("id") Object id)
      硬删除,需要实体实现 Destroyable
      Parameters:
      context - 代理器上下文
      id - ID
      Returns:
      SQL
    • destroyAllByExample

      public String destroyAllByExample(@Param("entity") Object entity, @Param("logic") Logic logic)
      根据示例批量销毁(物理删除)
      Parameters:
      entity - 实体
      logic - 条件连接逻辑
      Returns:
      SQL