类 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.data.FieldFilter updateFilter)
    插入数据 (注意 !!!
    final List<Long>
    add(Collection<Entity> entityList)
    批量插入数据
    add(Collection<Entity> entityList, cool.scx.data.FieldFilter updateFilter)
    批量插入数据
    final SQL
    buildGetSQL(cool.scx.data.Query query, cool.scx.data.FieldFilter selectFilter)
     
    final SQL
    buildGetSQLWithAlias(cool.scx.data.Query query, cool.scx.data.FieldFilter selectFilter)
     
    final SQL
    buildListSQL(cool.scx.data.Query query, cool.scx.data.FieldFilter selectFilter)
     
    final SQL
    buildListSQLWithAlias(cool.scx.data.Query query, cool.scx.data.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.data.FieldFilter selectFilter)
    获取所有数据 (使用查询过滤器)
    final void
    find(cool.scx.data.FieldFilter selectFilter, Consumer<Entity> consumer)
    获取所有数据 (使用查询过滤器)
    final List<Entity>
    find(cool.scx.data.Query query)
    根据聚合查询条件 Query 获取数据列表
    find(cool.scx.data.Query query, cool.scx.data.FieldFilter selectFilter)
    根据聚合查询条件 Query 获取数据列表
    void
    find(cool.scx.data.Query query, cool.scx.data.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.data.FieldFilter selectFilter)
    根据 ID (主键) 查询单条数据
    final Entity
    get(cool.scx.data.Query query)
    根据聚合查询条件 Query 获取单条数据
    get(cool.scx.data.Query query, cool.scx.data.FieldFilter selectFilter)
    根据聚合查询条件 Query 获取单条数据
    final Entity
    update(Entity entity)
    根据 ID 更新 (注意 !!!
    final Entity
    update(Entity entity, cool.scx.data.FieldFilter updateFilter)
    根据 ID 更新 (注意 !!!
    final long
    update(Entity entity, cool.scx.data.Query query)
    根据指定条件更新数据
    long
    update(Entity entity, cool.scx.data.Query query, cool.scx.data.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.data.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.data.FieldFilter updateFilter)
      批量插入数据
      参数:
      entityList - 数据集合
      updateFilter - 更新字段过滤器
      返回:
      插入成功的数据的自增主键列表
    • find

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

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

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

      public final void find(cool.scx.data.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.data.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.data.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.data.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.data.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.data.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 SQL buildListSQL(cool.scx.data.Query query, cool.scx.data.FieldFilter selectFilter)
    • buildGetSQL

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

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

      public final SQL buildGetSQLWithAlias(cool.scx.data.Query query, cool.scx.data.FieldFilter selectFilter)