com.seeyon.ctp.util
类 DBAgent

java.lang.Object
  继承者 com.seeyon.ctp.util.DBAgent

public final class DBAgent
extends java.lang.Object

Title: T1开发框架

Description: 基于Hibernate的数据库操作工具类。

Copyright: Copyright (c) 2012

Company: seeyon.com

从以下版本开始:
CTP2.0

构造方法摘要
DBAgent()
           
 
方法摘要
static int bulkUpdate(java.lang.String hql, java.util.Map<java.lang.String,java.lang.Object> nameParameters)
          根据传入的update或delete的HQL进行批量更新和删除操作 规范规定该方法只能在DAO中调用
static int bulkUpdate(java.lang.String hql, java.lang.Object... values)
          根据传入的update或delete的HQL进行批量更新和删除操作 规范规定该方法只能在DAO中调用
static int count(org.hibernate.criterion.DetachedCriteria detachedCriteria)
          根据Criteria获取结果集记录数
static int count(java.lang.String hql)
          根据HQL获取结果集记录数
static int count(java.lang.String hql, java.util.Map params)
          根据HQL和查询条件参数获取结果集记录数
static void delete(java.lang.Object entity)
          删除实体对象
static void deleteAll(java.util.List entities)
          批量删除实体对象。
static void evict(java.lang.Object entity)
          从缓存中清除指定持久化实体对象
static boolean exists(java.lang.String hql)
          根据HQL确定是否存在可用数据
static boolean exists(java.lang.String hql, java.util.Map params)
          根据HQL和查询条件参数确定是否存在可用数据
static java.util.List find(java.lang.String queryString)
          根据HQL进行查询操作,查询结果集数据量大时不建议使用 规范规定该方法只能在DAO中调用
static java.util.List find(java.lang.String queryString, java.util.Map params)
          根据HQL和HQL命名参数查询条件进行查询操作,查询结果集数据量大时不建议使用 规范规定该方法只能在DAO中调用
static java.util.List find(java.lang.String queryString, java.util.Map params, FlipInfo fi)
          根据HQL和HQL命名参数查询条件进行翻页查询操作 规范规定该方法只能在DAO中调用
static java.util.List findByCriteria(org.hibernate.criterion.DetachedCriteria criteria)
          根据Criteria进行查询操作
static java.util.List findByCriteria(org.hibernate.criterion.DetachedCriteria criteria, FlipInfo fi)
          根据Criteria进行查询操作
static java.util.List findByNamedQuery(java.lang.String queryName)
          根据hbm中配置的hql查询语句进行查询操作,查询结果集数据量大时不建议使用 <hibernate-mapping> <query name="samples_hibernate_findAll"><!
static java.util.List findByNamedQuery(java.lang.String queryName, java.util.Map params)
          根据hbm中配置的hql查询语句和指定参数进行查询操作。
static java.util.List findByNamedQuery(java.lang.String queryName, java.util.Map params, FlipInfo fi)
          根据hbm中配置的hql查询语句和指定参数进行翻页查询操作。
static java.util.List findByNamedQueryAndValueBean(java.lang.String queryName, java.lang.Object valueBean)
          根据hbm中配置的hql查询语句和指定参数Value Bean进行查询操作,查询结果集数据量大时不建议使用
static java.util.List findByNamedQueryAndValueBean(java.lang.String queryName, java.lang.Object valueBean, FlipInfo fi)
          根据hbm中配置的hql查询语句和指定参数Value Bean进行翻页查询操作
static java.util.List findByValueBean(java.lang.String queryString, java.lang.Object valueBean)
          根据HQL查询语句和指定参数Value Bean进行查询操作,查询结果集数据量大时不建议使用 规范规定该方法只能在DAO中调用
static java.util.List findByValueBean(java.lang.String queryString, java.lang.Object valueBean, FlipInfo fi)
          根据HQL查询语句和指定参数Value Bean进行翻页查询操作 规范规定该方法只能在DAO中调用
static
<T> T
get(java.lang.Class<T> entityClass, java.io.Serializable id)
          根据对象主键加载实体对象
static java.util.List loadAll(java.lang.Class entityClass)
          查询指定实体类型的所有数据对象,出于性能方面考虑,不建议大数据量下使用
static java.util.List loadAll(java.lang.Class entityClass, FlipInfo fi)
          查询指定实体类型的翻页后数据对象列表,
static java.util.List memoryPaging(java.util.List dataList, FlipInfo fi)
          根据指定数据集合进行内存分页
static java.lang.Object save(java.lang.Object entity)
          持久化指定实体对象
static java.util.List saveAll(java.util.List entities)
          批量持久化实体对象,在x201i测试笔记本电脑中的性能数据如下(非并发情况): 100条 - 178毫秒 500条 - 318毫秒 1500条 - 518毫秒 3000条 - 735毫秒 10000条 - 1282毫秒 100000条 - 9155毫秒
static java.util.List saveAllForceFlush(java.util.List entities)
           
static void saveOrUpdate(java.lang.Object entity)
          持久化指定实体对象,新增或更新
static void update(java.lang.Object entity)
          更新指定实体对象,根据主键作为匹配条件
static void updateAll(java.util.List entities)
          批量更新实体对象。
static void updateNoMerge(java.lang.Object entity)
           
static java.util.List<java.lang.String> validateByHibernateModel(java.lang.Object obj)
          根据Hibernate元数据定义校验PO数据合法性,目前只校验字符串长度。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

DBAgent

public DBAgent()
方法详细信息

get

public static <T> T get(java.lang.Class<T> entityClass,
                        java.io.Serializable id)
根据对象主键加载实体对象

参数:
entityClass - 要加载的实体对象类
id - 要加载的实体对象id
返回:
指定实体类型和id的实体对象

loadAll

public static java.util.List loadAll(java.lang.Class entityClass)
查询指定实体类型的所有数据对象,出于性能方面考虑,不建议大数据量下使用

参数:
entityClass - 要加载的实体类型
返回:
指定实体类型的全部数据列表

loadAll

public static java.util.List loadAll(java.lang.Class entityClass,
                                     FlipInfo fi)
查询指定实体类型的翻页后数据对象列表,

参数:
entityClass - 要加载的实体类型
fi - 翻页信息对象,包括要查询的页和每页条数等信息
返回:
指定实体类型的翻页查询数据列表

save

public static java.lang.Object save(java.lang.Object entity)
持久化指定实体对象

参数:
entity - 要持久化的实体对象
返回:
持久化对象主键

saveAll

public static java.util.List saveAll(java.util.List entities)
批量持久化实体对象,在x201i测试笔记本电脑中的性能数据如下(非并发情况):

参数:
entities - 要批量持久化的实体对象列表
返回:
批量持久化对象的主键列表

saveAllForceFlush

public static java.util.List saveAllForceFlush(java.util.List entities)

update

public static void update(java.lang.Object entity)
更新指定实体对象,根据主键作为匹配条件

参数:
entity - 要更新的实体对象

updateNoMerge

public static void updateNoMerge(java.lang.Object entity)

updateAll

public static void updateAll(java.util.List entities)
批量更新实体对象。在x201i测试笔记本电脑中的性能数据如下(非并发情况):

参数:
entities - 要批量更新的实体对象列表

delete

public static void delete(java.lang.Object entity)
删除实体对象

参数:
entity - 要删除的实体对象

deleteAll

public static void deleteAll(java.util.List entities)
批量删除实体对象。在x201i测试笔记本电脑中的性能数据如下(非并发情况):

参数:
entities - 要批量删除的实体对象列表

saveOrUpdate

public static void saveOrUpdate(java.lang.Object entity)
持久化指定实体对象,新增或更新

参数:
entity - 要持久化的实体对象

evict

public static void evict(java.lang.Object entity)
从缓存中清除指定持久化实体对象

参数:
entity - 要从缓存中清除的持久化实体对象

findByCriteria

public static java.util.List findByCriteria(org.hibernate.criterion.DetachedCriteria criteria)
根据Criteria进行查询操作

参数:
criteria - 查询对象

findByCriteria

public static java.util.List findByCriteria(org.hibernate.criterion.DetachedCriteria criteria,
                                            FlipInfo fi)
根据Criteria进行查询操作

参数:
criteria - 查询对象
fi - 翻页信息对象
返回:
翻页查询结果集列表

find

public static java.util.List find(java.lang.String queryString)
根据HQL进行查询操作,查询结果集数据量大时不建议使用 规范规定该方法只能在DAO中调用

参数:
queryString - 查询HQL语句
返回:
查询结果集列表

find

public static java.util.List find(java.lang.String queryString,
                                  java.util.Map params)
根据HQL和HQL命名参数查询条件进行查询操作,查询结果集数据量大时不建议使用 规范规定该方法只能在DAO中调用

参数:
queryString - 查询HQL语句
params - 查询参数
返回:
查询结果集列表

find

public static java.util.List find(java.lang.String queryString,
                                  java.util.Map params,
                                  FlipInfo fi)
根据HQL和HQL命名参数查询条件进行翻页查询操作 规范规定该方法只能在DAO中调用

参数:
queryString - 查询HQL语句
params - 查询参数
fi - 翻页信息对象
返回:
查询结果集列表

findByValueBean

public static java.util.List findByValueBean(java.lang.String queryString,
                                             java.lang.Object valueBean)
根据HQL查询语句和指定参数Value Bean进行查询操作,查询结果集数据量大时不建议使用 规范规定该方法只能在DAO中调用

参数:
queryString - 查询HQL语句
valueBean - 查询条件取值对象
返回:
查询结果集列表

findByValueBean

public static java.util.List findByValueBean(java.lang.String queryString,
                                             java.lang.Object valueBean,
                                             FlipInfo fi)
根据HQL查询语句和指定参数Value Bean进行翻页查询操作 规范规定该方法只能在DAO中调用

参数:
queryString - 查询HQL语句
valueBean - 查询条件取值对象
fi - 翻页信息对象
返回:
查询结果集列表

findByNamedQuery

public static java.util.List findByNamedQuery(java.lang.String queryName)
根据hbm中配置的hql查询语句进行查询操作,查询结果集数据量大时不建议使用

<hibernate-mapping>

<query name="samples_hibernate_findAll"><![CDATA[ from Org o ]]></query>

</hibernate-mapping>

参数:
queryName - 查询语句名称,如例子中的“samples_hibernate_findAll”
返回:
查询结果集列表

findByNamedQuery

public static java.util.List findByNamedQuery(java.lang.String queryName,
                                              java.util.Map params)
根据hbm中配置的hql查询语句和指定参数进行查询操作。查询结果集数据量大时不建议使用

<hibernate-mapping>

<query name="samples_hibernate_findByOrgname"><![CDATA[ from Org o where orgname like :orgname ]]></query>

</hibernate-mapping>

参数:
queryString - 查询语句名称,如例子中的“samples_hibernate_findByOrgname”
params - 查询参数,如例子中的“orgname”(用“:orgname”表示)
返回:
查询结果集列表

findByNamedQuery

public static java.util.List findByNamedQuery(java.lang.String queryName,
                                              java.util.Map params,
                                              FlipInfo fi)
根据hbm中配置的hql查询语句和指定参数进行翻页查询操作。

参数:
queryString - 查询语句名称
params - 查询参数
fi - 翻页信息对象
返回:
翻页查询结果集列表

findByNamedQueryAndValueBean

public static java.util.List findByNamedQueryAndValueBean(java.lang.String queryName,
                                                          java.lang.Object valueBean)
根据hbm中配置的hql查询语句和指定参数Value Bean进行查询操作,查询结果集数据量大时不建议使用

参数:
queryName - 查询语句名称
valueBean - 查询条件取值对象
返回:
查询结果集对象列表

findByNamedQueryAndValueBean

public static java.util.List findByNamedQueryAndValueBean(java.lang.String queryName,
                                                          java.lang.Object valueBean,
                                                          FlipInfo fi)
根据hbm中配置的hql查询语句和指定参数Value Bean进行翻页查询操作

参数:
queryName - 查询语句名称
valueBean - 查询条件取值对象
fi - 翻页信息对象
返回:
翻页查询结果集对象列表

bulkUpdate

public static int bulkUpdate(java.lang.String hql,
                             java.lang.Object... values)
根据传入的update或delete的HQL进行批量更新和删除操作 规范规定该方法只能在DAO中调用

参数:
hql - update或delete语句
values - 参数对象值
返回:
update或delete的记录数

bulkUpdate

public static int bulkUpdate(java.lang.String hql,
                             java.util.Map<java.lang.String,java.lang.Object> nameParameters)
根据传入的update或delete的HQL进行批量更新和删除操作 规范规定该方法只能在DAO中调用

参数:
hql - update或delete语句
nameParameters - 命名(用:name) 的参数
返回:
update或delete的记录数

exists

public static boolean exists(java.lang.String hql)
根据HQL确定是否存在可用数据

参数:
hql - 查询HQL语句
返回:
当存在可用数据时返回true;否则返回false

exists

public static boolean exists(java.lang.String hql,
                             java.util.Map params)
根据HQL和查询条件参数确定是否存在可用数据

参数:
hql - 查询HQL语句
params - 查询条件参数
返回:
当存在可用数据时返回true;否则返回false

count

public static int count(java.lang.String hql)
根据HQL获取结果集记录数

参数:
hql - 要获取结果集记录数的HQL查询语句
返回:
结果集记录数

count

public static int count(org.hibernate.criterion.DetachedCriteria detachedCriteria)
根据Criteria获取结果集记录数

参数:
detachedCriteria - 查询对象
返回:
结果集记录数

count

public static int count(java.lang.String hql,
                        java.util.Map params)
根据HQL和查询条件参数获取结果集记录数

参数:
hql - 要获取结果集记录数的HQL查询语句
params - 查询条件参数
返回:
结果集记录数

memoryPaging

public static java.util.List memoryPaging(java.util.List dataList,
                                          FlipInfo fi)
根据指定数据集合进行内存分页

参数:
dataList - 要进行分页的数据集合
fi - 翻页信息对象
返回:
内存数据翻页结果集

validateByHibernateModel

public static java.util.List<java.lang.String> validateByHibernateModel(java.lang.Object obj)
根据Hibernate元数据定义校验PO数据合法性,目前只校验字符串长度。验证失败则返回的List大于0

参数:
obj - 要根据Hibernate元数据进行校验的PO对象
返回:
失败则返回List大于0