public final class DBAgent
extends java.lang.Object
Title: T1开发框架
Description: 基于Hibernate的数据库操作工具类。
Copyright: Copyright (c) 2012
Company: seeyon.com
限定符和类型 | 字段和说明 |
---|---|
static int |
batch_size |
构造器和说明 |
---|
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 void |
clear()
已过时。
不安全操作
|
static void |
commit()
已过时。
不推荐使用,如果有数据不可见问题,请找架构协助处理
|
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 queryString,
java.util.Map params)
根据hbm中配置的hql查询语句和指定参数进行查询操作。
|
static java.util.List |
findByNamedQuery(java.lang.String queryString,
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 <T> java.util.List<T> |
memoryPaging(java.util.List<T> dataList,
FlipInfo fi)
根据指定数据集合进行内存分页
|
static void |
merge(java.lang.Object entity) |
static void |
mergeAll(java.util.List entities) |
static java.lang.Object |
save(java.lang.Object entity)
持久化指定实体对象
|
static java.util.List |
saveAll(java.util.List entities)
批量持久化实体对象,在x201i测试笔记本电脑中的性能数据如下(非并发情况):满1000条提交一次,不满就不提交
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 |
savePatchAll(java.util.List entities)
批量保存性能提升。
|
static void |
savePatchAll(java.util.List entities,
boolean forceFlush)
批量保存性能提升。
|
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数据合法性,目前只校验字符串长度。
|
public static final int batch_size
public static <T> T get(java.lang.Class<T> entityClass, java.io.Serializable id)
entityClass
- 要加载的实体对象类id
- 要加载的实体对象idpublic static java.util.List loadAll(java.lang.Class entityClass)
entityClass
- 要加载的实体类型public static java.util.List loadAll(java.lang.Class entityClass, FlipInfo fi)
entityClass
- 要加载的实体类型fi
- 翻页信息对象,包括要查询的页和每页条数等信息public static java.lang.Object save(java.lang.Object entity)
entity
- 要持久化的实体对象public static java.util.List saveAll(java.util.List entities)
entities
- 要批量持久化的实体对象列表public static java.util.List saveAllForceFlush(java.util.List entities)
public static void savePatchAll(java.util.List entities)
entities
- 要批量持久化的实体对象列表public static void savePatchAll(java.util.List entities, boolean forceFlush)
entities
- forceFlush
- 如果为true,不管多少条,最后都强行事务提交public static void update(java.lang.Object entity)
entity
- 要更新的实体对象public static void merge(java.lang.Object entity)
public static void updateNoMerge(java.lang.Object entity)
update(Object)
public static void updateAll(java.util.List entities)
entities
- 要批量更新的实体对象列表public static void mergeAll(java.util.List entities)
entities
- 要批量插入/更新的对象列表public static void delete(java.lang.Object entity)
entity
- 要删除的实体对象public static void deleteAll(java.util.List entities)
entities
- 要批量删除的实体对象列表@Deprecated public static void saveOrUpdate(java.lang.Object entity)
entity
- 要持久化的实体对象public static void evict(java.lang.Object entity)
entity
- 要从缓存中清除的持久化实体对象public static java.util.List findByCriteria(org.hibernate.criterion.DetachedCriteria criteria)
criteria
- 查询对象public static java.util.List findByCriteria(org.hibernate.criterion.DetachedCriteria criteria, FlipInfo fi)
criteria
- 查询对象fi
- 翻页信息对象public static java.util.List find(java.lang.String queryString)
queryString
- 查询HQL语句public static java.util.List find(java.lang.String queryString, java.util.Map params)
queryString
- 查询HQL语句params
- 查询参数public static java.util.List find(java.lang.String queryString, java.util.Map params, FlipInfo fi)
queryString
- 查询HQL语句params
- 查询参数fi
- 翻页信息对象public static java.util.List findByValueBean(java.lang.String queryString, java.lang.Object valueBean)
queryString
- 查询HQL语句valueBean
- 查询条件取值对象public static java.util.List findByValueBean(java.lang.String queryString, java.lang.Object valueBean, FlipInfo fi)
queryString
- 查询HQL语句valueBean
- 查询条件取值对象fi
- 翻页信息对象public static java.util.List findByNamedQuery(java.lang.String queryName)
<query name="samples_hibernate_findAll"><![CDATA[
from Org o
]]></query>
</hibernate-mapping>
<hibernate-mapping>
queryName
- 查询语句名称,如例子中的“samples_hibernate_findAll”public static java.util.List findByNamedQuery(java.lang.String queryString, java.util.Map params)
<query name="samples_hibernate_findByOrgname"><![CDATA[
from Org o where orgname like :orgname
]]></query>
</hibernate-mapping>
<hibernate-mapping>
queryString
- 查询语句名称,如例子中的“samples_hibernate_findByOrgname”params
- 查询参数,如例子中的“orgname”(用“:orgname”表示)public static java.util.List findByNamedQuery(java.lang.String queryString, java.util.Map params, FlipInfo fi)
queryString
- 查询语句名称params
- 查询参数fi
- 翻页信息对象public static java.util.List findByNamedQueryAndValueBean(java.lang.String queryName, java.lang.Object valueBean)
queryName
- 查询语句名称valueBean
- 查询条件取值对象public static java.util.List findByNamedQueryAndValueBean(java.lang.String queryName, java.lang.Object valueBean, FlipInfo fi)
queryName
- 查询语句名称valueBean
- 查询条件取值对象fi
- 翻页信息对象public static int bulkUpdate(java.lang.String hql, java.lang.Object... values)
hql
- update或delete语句values
- 参数对象值public static int bulkUpdate(java.lang.String hql, java.util.Map<java.lang.String,java.lang.Object> nameParameters)
hql
- update或delete语句nameParameters
- 命名(用:name) 的参数public static boolean exists(java.lang.String hql)
hql
- 查询HQL语句public static boolean exists(java.lang.String hql, java.util.Map params)
hql
- 查询HQL语句params
- 查询条件参数public static int count(java.lang.String hql)
hql
- 要获取结果集记录数的HQL查询语句public static int count(org.hibernate.criterion.DetachedCriteria detachedCriteria)
detachedCriteria
- 查询对象public static int count(java.lang.String hql, java.util.Map params)
hql
- 要获取结果集记录数的HQL查询语句params
- 查询条件参数public static <T> java.util.List<T> memoryPaging(java.util.List<T> dataList, FlipInfo fi)
dataList
- 要进行分页的数据集合fi
- 翻页信息对象public static java.util.List<java.lang.String> validateByHibernateModel(java.lang.Object obj)
obj
- 要根据Hibernate元数据进行校验的PO对象public static void commit()
public static void clear()