类 BaseModelService<Entity extends BaseModel>

java.lang.Object
cool.scx.core.base.BaseModelService<Entity>

public class BaseModelService<Entity extends BaseModel> extends Object
提供一些针对 BaseModel 类型实体类 简单的 CRUD 操作的 service 类

业务 service 可以继承此类 (注意 : 如需要被 beanFactory 扫描到 请标注 ScxService 注解)

或手动创建 : new BaseModelService()

如果还是无法满足需求, 可以考虑使用 SQLRunner

版本:
0.3.6
作者:
scx567888
  • 字段详细资料

  • 构造器详细资料

    • BaseModelService

      public BaseModelService()
      从泛型中获取 entityClass
    • BaseModelService

      public BaseModelService(Class<Entity> entityClass)
      手动创建 entityClass
      参数:
      entityClass - 继承自 BaseModel 的实体类 class
  • 方法详细资料

    • add

      public final Entity add(Entity entity)
      插入数据 (注意 !!! 这里会在插入之后根据主键再次进行一次查询, 若只是进行插入且对性能有要求请使用 SQLDao.insert(Object, ColumnFilter))
      参数:
      entity - 待插入的数据
      返回:
      插入成功的数据 如果插入失败或数据没有主键则返回 null
    • add

      public Entity add(Entity entity, ColumnFilter updateFilter)
      插入数据 (注意 !!! 这里会在插入之后根据主键再次进行一次查询, 若只是进行插入且对性能有要求请使用 SQLDao.insert(Object, ColumnFilter))
      参数:
      entity - 待插入的数据
      updateFilter - 更新字段过滤器
      返回:
      插入成功的数据 如果插入失败或数据没有主键则返回 null
    • add

      public final List<Long> add(Collection<Entity> entityList)
      批量插入数据
      参数:
      entityList - 数据集合
      返回:
      插入成功的数据的自增主键列表
    • add

      public List<Long> add(Collection<Entity> entityList, ColumnFilter updateFilter)
      批量插入数据
      参数:
      entityList - 数据集合
      updateFilter - 更新字段过滤器
      返回:
      插入成功的数据的自增主键列表
    • list

      public final List<Entity> list()
      获取所有数据
      返回:
      所有数据
    • list

      public final List<Entity> list(ColumnFilter selectFilter)
      获取所有数据 (使用查询过滤器)
      参数:
      selectFilter - 查询字段过滤器
      返回:
      所有数据
    • list

      public final List<Entity> list(long... ids)
      根据 id 获取数据
      参数:
      ids - id 列表
      返回:
      列表数据
    • list

      public final List<Entity> list(Query query)
      根据聚合查询条件 Query 获取数据列表
      参数:
      query - 聚合查询参数对象
      返回:
      数据列表
    • list

      public List<Entity> list(Query query, ColumnFilter selectFilter)
      根据聚合查询条件 Query 获取数据列表
      参数:
      query - 聚合查询参数对象
      selectFilter - 查询字段过滤器
      返回:
      数据列表
    • get

      public final Entity get(long id)
      根据 ID (主键) 查询单条数据
      参数:
      id - id ( 主键 )
      返回:
      查到多个则返回第一个 没有则返回 null
    • get

      public final Entity get(long id, ColumnFilter selectFilter)
      根据 ID (主键) 查询单条数据
      参数:
      id - id ( 主键 )
      selectFilter - 查询字段过滤器
      返回:
      查到多个则返回第一个 没有则返回 null
    • get

      public final Entity get(Query query)
      根据聚合查询条件 Query 获取单条数据
      参数:
      query - 聚合查询参数对象
      返回:
      查到多个则返回第一个 没有则返回 null
    • get

      public final Entity get(Query query, ColumnFilter selectFilter)
      根据聚合查询条件 Query 获取单条数据
      参数:
      query - 聚合查询参数对象
      selectFilter - 查询字段过滤器
      返回:
      查到多个则返回第一个 没有则返回 null
    • count

      public final long count()
      获取所有数据的条数
      返回:
      所有数据的条数
    • count

      public final long count(Query query)
      根据聚合查询条件 Query 获取数据条数
      参数:
      query - 聚合查询参数对象
      返回:
      数据条数
    • update

      public final Entity update(Entity entity)
      根据 ID 更新 (注意 !!! 这里会在更新之后根据主键再次进行一次查询, 若只是进行更新且对性能有要求请使用 SQLDao.update(Object, Query, ColumnFilter))
      参数:
      entity - 待更新的数据 ( 注意: 请保证数据中 id 字段不为空 )
      返回:
      更新成功后的数据
    • update

      public final Entity update(Entity entity, ColumnFilter updateFilter)
      根据 ID 更新 (注意 !!! 这里会在更新之后根据主键再次进行一次查询, 若只是进行更新且对性能有要求请使用 SQLDao.update(Object, Query, ColumnFilter))
      参数:
      entity - 待更新的数据 ( 注意: 请保证数据中 id 字段不为空 )
      updateFilter - 更新字段过滤器
      返回:
      更新成功后的数据
    • update

      public final long update(Entity entity, Query query)
      根据指定条件更新数据
      参数:
      entity - 待更新的数据
      query - 更新的条件
      返回:
      更新成功的数据条数
    • update

      public long update(Entity entity, Query query, ColumnFilter updateFilter)
      根据指定条件更新数据
      参数:
      entity - 待更新的数据
      query - 更新的条件
      updateFilter - 更新字段过滤器
      返回:
      更新成功的数据条数
    • delete

      public final long delete(long... ids)
      根据 ID 列表删除指定的数据
      参数:
      ids - 要删除的数据的 id 集合
      返回:
      删除成功的数据条数
    • delete

      public long delete(Query query)
      根据条件删除
      参数:
      query - 删除条件
      返回:
      被删除的数据条数
    • buildListSQL

      public final cool.scx.sql.sql.SQL buildListSQL(Query query, ColumnFilter selectFilter)
      构建 (根据聚合查询条件 Query 获取数据列表) 的SQL
      可用于另一条查询语句的 where 条件
      若同时使用 limit 和 in/not in 请使用 buildListSQLWithAlias(Query, ColumnFilter)
      参数:
      query - 聚合查询参数对象
      selectFilter - 查询字段过滤器
      返回:
      listSQL
      另请参阅:
    • buildGetSQL

      public final cool.scx.sql.sql.SQL buildGetSQL(Query query, ColumnFilter selectFilter)
      构建 根据聚合查询条件 Query 获取单条数据 的SQL
      可用于另一条查询语句的 where 条件
      若同时使用 limit 和 in/not in 请使用 buildListSQLWithAlias(Query, ColumnFilter)
      参数:
      query - 聚合查询参数对象
      selectFilter - 查询字段过滤器
      返回:
      getSQL
      另请参阅:
    • buildListSQLWithAlias

      public final cool.scx.sql.sql.SQL buildListSQLWithAlias(Query query, ColumnFilter selectFilter)
      构建 (根据聚合查询条件 Query 获取数据列表) 的SQL
      可用于另一条查询语句的 where 条件
      参数:
      query - 聚合查询参数对象
      selectFilter - 查询字段过滤器
      返回:
      listSQL
      另请参阅:
    • buildGetSQLWithAlias

      public final cool.scx.sql.sql.SQL buildGetSQLWithAlias(Query query, ColumnFilter selectFilter)
      构建 根据聚合查询条件 Query 获取单条数据 的SQL
      可用于另一条查询语句的 where 条件
      参数:
      query - 聚合查询参数对象
      selectFilter - 查询字段过滤器
      返回:
      getSQL
      另请参阅:
    • _baseDao

      public SQLDao<Entity> _baseDao()

      baseDao.

      返回:
      a SQLDao object