类 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
  • 字段概要

    字段
    修饰符和类型
    字段
    说明
    protected final Class<Entity>
    BaseDao
  • 构造器概要

    构造器
    构造器
    说明
    从泛型中获取 entityClass
    手动创建 entityClass
  • 方法概要

    修饰符和类型
    方法
    说明
    final Entity
    add(Entity entity)
    插入数据 (注意 !!!
    add(Entity entity, cool.scx.common.field_filter.FieldFilter updateFilter)
    插入数据 (注意 !!!
    final List<Long>
    add(Collection<Entity> entityList)
    批量插入数据
    add(Collection<Entity> entityList, cool.scx.common.field_filter.FieldFilter updateFilter)
    批量插入数据
    final cool.scx.jdbc.sql.SQL
    buildGetSQL(cool.scx.data.Query query, cool.scx.common.field_filter.FieldFilter selectFilter)
     
    final cool.scx.jdbc.sql.SQL
    buildGetSQLWithAlias(cool.scx.data.Query query, cool.scx.common.field_filter.FieldFilter selectFilter)
     
    final cool.scx.jdbc.sql.SQL
    buildListSQL(cool.scx.data.Query query, cool.scx.common.field_filter.FieldFilter selectFilter)
     
    final cool.scx.jdbc.sql.SQL
    buildListSQLWithAlias(cool.scx.data.Query query, cool.scx.common.field_filter.FieldFilter selectFilter)
     
    final long
    获取所有数据的条数
    final long
    count(cool.scx.data.Query query)
    根据聚合查询条件 Query 获取数据条数
    dao()
    baseDao.
    final long
    delete(long... ids)
    根据 ID 列表删除指定的数据
    long
    delete(cool.scx.data.Query query)
    根据条件删除
    final Class<Entity>
     
    final List<Entity>
    获取所有数据
    final List<Entity>
    find(long... ids)
    根据 id 获取数据
    final List<Entity>
    find(cool.scx.common.field_filter.FieldFilter selectFilter)
    获取所有数据 (使用查询过滤器)
    final void
    find(cool.scx.common.field_filter.FieldFilter selectFilter, Consumer<Entity> consumer)
    获取所有数据 (使用查询过滤器)
    final List<Entity>
    find(cool.scx.data.Query query)
    根据聚合查询条件 Query 获取数据列表
    find(cool.scx.data.Query query, cool.scx.common.field_filter.FieldFilter selectFilter)
    根据聚合查询条件 Query 获取数据列表
    void
    find(cool.scx.data.Query query, cool.scx.common.field_filter.FieldFilter selectFilter, Consumer<Entity> consumer)
    根据聚合查询条件 Query 获取数据列表
    final void
    find(cool.scx.data.Query query, Consumer<Entity> consumer)
    根据聚合查询条件 Query 获取数据列表
    final void
    find(Consumer<Entity> consumer)
    获取所有数据
    final Entity
    get(long id)
    根据 ID (主键) 查询单条数据
    final Entity
    get(long id, cool.scx.common.field_filter.FieldFilter selectFilter)
    根据 ID (主键) 查询单条数据
    final Entity
    get(cool.scx.data.Query query)
    根据聚合查询条件 Query 获取单条数据
    get(cool.scx.data.Query query, cool.scx.common.field_filter.FieldFilter selectFilter)
    根据聚合查询条件 Query 获取单条数据
    final Entity
    update(Entity entity)
    根据 ID 更新 (注意 !!!
    final Entity
    update(Entity entity, cool.scx.common.field_filter.FieldFilter updateFilter)
    根据 ID 更新 (注意 !!!
    final long
    update(Entity entity, cool.scx.data.Query query)
    根据指定条件更新数据
    long
    update(Entity entity, cool.scx.data.Query query, cool.scx.common.field_filter.FieldFilter updateFilter)
    根据指定条件更新数据

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 字段详细资料

  • 构造器详细资料

    • BaseModelService

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

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

    • add

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

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

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

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

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

      public final List<Entity> find(cool.scx.common.field_filter.FieldFilter selectFilter)
      获取所有数据 (使用查询过滤器)
      参数:
      selectFilter - 查询字段过滤器
      返回:
      所有数据
    • find

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

      public List<Entity> find(cool.scx.data.Query query, cool.scx.common.field_filter.FieldFilter selectFilter)
      根据聚合查询条件 Query 获取数据列表
      参数:
      query - 聚合查询参数对象
      selectFilter - 查询字段过滤器
      返回:
      数据列表
    • find

      public final void find(Consumer<Entity> consumer)
      获取所有数据
    • find

      public final void find(cool.scx.common.field_filter.FieldFilter selectFilter, Consumer<Entity> consumer)
      获取所有数据 (使用查询过滤器)
      参数:
      selectFilter - 查询字段过滤器
    • find

      public final void find(cool.scx.data.Query query, Consumer<Entity> consumer)
      根据聚合查询条件 Query 获取数据列表
      参数:
      query - 聚合查询参数对象
    • find

      public void find(cool.scx.data.Query query, cool.scx.common.field_filter.FieldFilter selectFilter, Consumer<Entity> consumer)
      根据聚合查询条件 Query 获取数据列表
      参数:
      query - 聚合查询参数对象
      selectFilter - 查询字段过滤器
    • find

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

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

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

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

      public Entity get(cool.scx.data.Query query, cool.scx.common.field_filter.FieldFilter selectFilter)
      根据聚合查询条件 Query 获取单条数据
      参数:
      query - 聚合查询参数对象
      selectFilter - 查询字段过滤器
      返回:
      查到多个则返回第一个 没有则返回 null
    • update

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

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

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

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

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

      public long delete(cool.scx.data.Query query)
      根据条件删除
      参数:
      query - 删除条件
      返回:
      被删除的数据条数
    • count

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

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

      public final JDBCDao<Entity> dao()

      baseDao.

      返回:
      a JDBCDao object
    • entityClass

      public final Class<Entity> entityClass()
    • buildListSQL

      public final cool.scx.jdbc.sql.SQL buildListSQL(cool.scx.data.Query query, cool.scx.common.field_filter.FieldFilter selectFilter)
    • buildGetSQL

      public final cool.scx.jdbc.sql.SQL buildGetSQL(cool.scx.data.Query query, cool.scx.common.field_filter.FieldFilter selectFilter)
    • buildListSQLWithAlias

      public final cool.scx.jdbc.sql.SQL buildListSQLWithAlias(cool.scx.data.Query query, cool.scx.common.field_filter.FieldFilter selectFilter)
    • buildGetSQLWithAlias

      public final cool.scx.jdbc.sql.SQL buildGetSQLWithAlias(cool.scx.data.Query query, cool.scx.common.field_filter.FieldFilter selectFilter)