T - Entity
2010-8-9public abstract class BaseDao<T> extends org.springframework.dao.support.DaoSupport implements CTPBaseDao<T>
分页| 限定符和类型 | 字段和说明 |
|---|---|
protected java.lang.Class<T> |
entityClass
Dao所管理的Entity类型.
|
| 构造器和说明 |
|---|
BaseDao()
在构造函数中将泛型T.class赋给entityClass
|
| 限定符和类型 | 方法和说明 |
|---|---|
int |
bulkUpdate(java.lang.String hql,
java.util.Map<java.lang.String,java.lang.Object> nameParameters,
java.util.List<java.lang.Object> indexParameter)
执行SQL(delete/update),支持命名参数和index参数
|
int |
bulkUpdate(java.lang.String hql,
java.util.Map<java.lang.String,java.lang.Object> nameParameters,
java.lang.Object... indexParameter)
执行SQL(delete/update),支持命名参数和index参数
|
protected void |
checkDaoConfig() |
protected org.springframework.dao.DataAccessException |
convertHibernateAccessException(org.hibernate.HibernateException ex)
Convert the given HibernateException to an appropriate exception from the
org.springframework.dao hierarchy. |
int |
count(java.lang.String hqlStr,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.util.List<java.lang.Object> indexParameter)
给一个普通的查询语句,取出对于的查询总数,如:
select * from table where a=1 and b=2 order c 结果执行的是:select count(*) from table where a=1 and b=2 |
int |
count(java.lang.String hqlStr,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.lang.Object... indexParameter) |
int |
count(java.lang.String hqlStr,
java.lang.String countPropertiesName,
boolean isDistinct,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.lang.Object... indexParameter)
给一个普通的查询语句,取出对于的查询总数,如:
select * from table where a=1 and b=2 order c 结果执行的是:select count(*) from table where a=1 and b=2 |
protected HibernateTemplate |
createHibernateTemplate(org.hibernate.SessionFactory sessionFactory)
Create a HibernateTemplate for the given SessionFactory.
|
void |
delete(long id)
根据主键删除对象.
|
void |
delete(java.lang.Object entity)
删除对象.
|
java.util.List |
executeCriteria(org.hibernate.criterion.DetachedCriteria detachedCriteria)
执行DetachedCriteria,实现自动分页, 并把rowCount注入到Pagination
|
java.util.List |
executeCriteria(org.hibernate.criterion.DetachedCriteria detachedCriteria,
int firstResult,
int maxResults)
执行DetachedCriteria,不自动分页
|
java.lang.Object |
executeUniqueCriteria(org.hibernate.criterion.DetachedCriteria detachedCriteria)
执行DetachedCriteria,只取一条记录
|
java.util.List |
find(java.lang.String hqlStr,
int firstResult,
int maxResults,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.util.List<java.lang.Object> indexParameter)
查询, 不分页。
|
java.util.List |
find(java.lang.String hqlStr,
int firstResult,
int maxResults,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.lang.Object... indexParameter)
查询, 不分页,如果需要分页,请用
CTPBaseDao.find(String, Map, Object[]) |
java.util.List |
find(java.lang.String hqlStr,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.util.List<java.lang.Object> indexParameter)
执行查询,
自动完成分页,并把总数设置到Pagination 查找总数的策略是:count(*)如果不分页,请用 CTPBaseDao.find(String, int, int, Map, List)或CTPBaseDao.find(String, int, int, Map, Object[]) |
java.util.List |
find(java.lang.String hqlStr,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.lang.Object... indexParameter)
执行查询,自动完成分页,并把总数设置到
Pagination;查找总数的策略是:count(*)如果不分页,请用 CTPBaseDao.find(String, int, int, Map, Object[]) |
java.util.List |
find(java.lang.String hqlStr,
java.lang.String countPropertiesName,
boolean isDistinct,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.util.List<java.lang.Object> indexParameter)
执行查询,自动完成分页,并把总数设置到
Pagination |
java.util.List |
find(java.lang.String hqlStr,
java.lang.String countPropertiesName,
boolean isDistinct,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.lang.Object... indexParameter)
查询
|
java.util.List<T> |
findBy(java.lang.String name,
java.lang.Object value)
根据属性名和属性值查询对象.
|
java.util.List<T> |
findByLike(java.lang.String name,
java.lang.String value)
根据属性名和属性值以Like AnyWhere方式查询对象.
|
java.util.List |
findNativeSQL(java.lang.String nativeSQL,
java.lang.Class entityClass,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.lang.Object... indexParameter)
NativeSQL查询
|
java.util.List<T> |
findSimpleObjects(java.util.List<org.hibernate.criterion.Criterion> criterions,
java.util.List<org.hibernate.criterion.Order> orders,
int firstResult,
int maxResult,
java.lang.String... propertyNames)
按照条件,查询某些字段的数据,不分页
|
java.util.List<T> |
findSimpleObjects(java.util.List<org.hibernate.criterion.Criterion> criterions,
java.util.List<org.hibernate.criterion.Order> orders,
java.lang.String... propertyNames)
按照条件,查询某些字段的数据,自动分页
|
java.lang.Object |
findUnique(java.lang.String hqlStr,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.util.List<java.lang.Object> indexParameter)
查询唯一对象
|
java.lang.Object |
findUnique(java.lang.String hqlStr,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.lang.Object... indexParameter)
查询唯一对象
|
T |
findUniqueBy(java.lang.String name,
java.lang.Object value)
根据属性名和属性值查询对象.
|
java.util.List |
findVarargs(java.lang.String hsql,
java.lang.Object... values)
Execute a query for persistent instances, binding a number of values to
"?"
|
java.util.List |
findWithCount(java.lang.String hqlStr,
java.lang.String countSql,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.util.List<java.lang.Object> indexParameter)
执行查询,自动分页,总数有第二个查询产生
|
java.util.List |
findWithCount(java.lang.String hqlStr,
java.lang.String countSql,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.lang.Object... indexParameter)
执行查询,自动分页,总数有第二个查询产生
|
T |
get(java.lang.Long id)
按照主键获取对象
|
java.util.List<T> |
getAll()
查找表中的所有数据
|
protected int |
getBatchSize() |
int |
getCountByCriteria(org.hibernate.criterion.DetachedCriteria detachedCriteria)
执行count
|
protected java.lang.Class |
getEntityClass()
取得entityClass的函数.
|
HibernateTemplate |
getHibernateTemplate()
Return the HibernateTemplate for this DAO,
pre-initialized with the SessionFactory or set explicitly.
|
org.hibernate.SessionFactory |
getSessionFactory()
Return the Hibernate SessionFactory used by this DAO.
|
T |
getSimpleObject(long id,
java.lang.String... propertyNames)
根据id,取得记录的指定字段
|
void |
save(java.lang.Object o)
保存对象到数据库中
|
void |
savePatchAll(java.util.Collection<? extends java.lang.Object> os)
批量保存,每batch_size条保存并提交一次,然后清空一级缓存
|
void |
setHibernateTemplate(HibernateTemplate hibernateTemplate)
Set the HibernateTemplate for this DAO explicitly,
as an alternative to specifying a SessionFactory.
|
protected void |
setParameters(org.hibernate.Query query,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.lang.Object... indexParameter) |
void |
setSessionFactory(org.hibernate.SessionFactory sessionFactory)
Set the Hibernate SessionFactory to be used by this DAO.
|
protected void |
sortCriteria(org.hibernate.Criteria criteria,
java.util.Map sortMap,
java.lang.Object entity)
构造Criteria的排序条件默认函数.可供其他查询函数调用
|
void |
update(java.lang.Object o)
更新所有字段
|
void |
updatePatchAll(java.util.Collection<? extends java.lang.Object> os)
批量保存,每batch_size条保存并提交一次,然后清空一级缓存
|
protected java.lang.Class<T> entityClass
public final void setSessionFactory(org.hibernate.SessionFactory sessionFactory)
CTPBaseDaosetSessionFactory 在接口中 CTPBaseDao<T>#createHibernateTemplate,
CTPBaseDao.setHibernateTemplate(com.seeyon.ctp.common.dao.HibernateTemplate)protected HibernateTemplate createHibernateTemplate(org.hibernate.SessionFactory sessionFactory)
Can be overridden in subclasses to provide a HibernateTemplate instance with different configuration, or a custom HibernateTemplate subclass.
sessionFactory - the Hibernate SessionFactory to create a HibernateTemplate forsetSessionFactory(org.hibernate.SessionFactory)public final org.hibernate.SessionFactory getSessionFactory()
CTPBaseDaogetSessionFactory 在接口中 CTPBaseDao<T>public final void setHibernateTemplate(HibernateTemplate hibernateTemplate)
CTPBaseDaopublic final HibernateTemplate getHibernateTemplate()
CTPBaseDaogetHibernateTemplate 在接口中 CTPBaseDao<T>protected final void checkDaoConfig()
checkDaoConfig 在类中 org.springframework.dao.support.DaoSupportprotected final org.springframework.dao.DataAccessException convertHibernateAccessException(org.hibernate.HibernateException ex)
org.springframework.dao hierarchy. Will automatically detect
wrapped SQLExceptions and convert them accordingly.
Delegates to the convertHibernateAccessException
method of this DAO's HibernateTemplate.
Typically used in plain Hibernate code, in combination with
getSession and releaseSession.
ex - HibernateException that occuredsetHibernateTemplate(com.seeyon.ctp.common.dao.HibernateTemplate),
HibernateAccessor.convertHibernateAccessException(org.hibernate.HibernateException)protected java.lang.Class getEntityClass()
protected int getBatchSize()
public void save(java.lang.Object o)
CTPBaseDaosave 在接口中 CTPBaseDao<T>public void savePatchAll(java.util.Collection<? extends java.lang.Object> os)
CTPBaseDaosavePatchAll 在接口中 CTPBaseDao<T>public void updatePatchAll(java.util.Collection<? extends java.lang.Object> os)
CTPBaseDaoupdatePatchAll 在接口中 CTPBaseDao<T>public void update(java.lang.Object o)
CTPBaseDaoupdate 在接口中 CTPBaseDao<T>public T get(java.lang.Long id)
CTPBaseDaoget 在接口中 CTPBaseDao<T>public java.util.List<T> getAll()
CTPBaseDaogetAll 在接口中 CTPBaseDao<T>public java.util.List findVarargs(java.lang.String hsql,
java.lang.Object... values)
CTPBaseDaofindVarargs 在接口中 CTPBaseDao<T>hsql - select id,name from Member where createDate>=? and createDate<=?public T findUniqueBy(java.lang.String name, java.lang.Object value)
CTPBaseDaofindUniqueBy 在接口中 CTPBaseDao<T>public java.util.List<T> findBy(java.lang.String name, java.lang.Object value)
CTPBaseDaofindBy 在接口中 CTPBaseDao<T>public java.util.List<T> findByLike(java.lang.String name, java.lang.String value)
CTPBaseDaofindByLike 在接口中 CTPBaseDao<T>protected void sortCriteria(org.hibernate.Criteria criteria,
java.util.Map sortMap,
java.lang.Object entity)
criteria - Criteria实例.sortMap - 排序条件.entity - entity对象,用于使用反射来获取某些属性信息public void delete(long id)
CTPBaseDaodelete 在接口中 CTPBaseDao<T>id - 主键.public void delete(java.lang.Object entity)
CTPBaseDaodelete 在接口中 CTPBaseDao<T>entity - 实体对象.public java.util.List executeCriteria(org.hibernate.criterion.DetachedCriteria detachedCriteria)
CTPBaseDaoexecuteCriteria 在接口中 CTPBaseDao<T>public java.util.List executeCriteria(org.hibernate.criterion.DetachedCriteria detachedCriteria,
int firstResult,
int maxResults)
CTPBaseDaoexecuteCriteria 在接口中 CTPBaseDao<T>firstResult - 数据行开始位置,从0开始,-1表示不限制maxResults - 取数据量,-1表示不限制public java.lang.Object executeUniqueCriteria(org.hibernate.criterion.DetachedCriteria detachedCriteria)
CTPBaseDaoexecuteUniqueCriteria 在接口中 CTPBaseDao<T>public int getCountByCriteria(org.hibernate.criterion.DetachedCriteria detachedCriteria)
CTPBaseDaogetCountByCriteria 在接口中 CTPBaseDao<T>public T getSimpleObject(long id, java.lang.String... propertyNames)
CTPBaseDaogetSimpleObject 在接口中 CTPBaseDao<T>id - 主键对应的值propertyNames - 需要读取的字段,不允许为nullpublic java.util.List<T> findSimpleObjects(java.util.List<org.hibernate.criterion.Criterion> criterions, java.util.List<org.hibernate.criterion.Order> orders, java.lang.String... propertyNames)
CTPBaseDaofindSimpleObjects 在接口中 CTPBaseDao<T>criterions - 查询条件,可以为nullorders - 排序,可以为nullpropertyNames - 需要查询的字段public java.util.List<T> findSimpleObjects(java.util.List<org.hibernate.criterion.Criterion> criterions, java.util.List<org.hibernate.criterion.Order> orders, int firstResult, int maxResult, java.lang.String... propertyNames)
CTPBaseDaofindSimpleObjects 在接口中 CTPBaseDao<T>criterions - 查询条件,可以为nullorders - 排序,可以为nullfirstResult - -1表示不限制maxResult - -1表示不限制propertyNames - 需要查询的字段public int count(java.lang.String hqlStr,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.util.List<java.lang.Object> indexParameter)
CTPBaseDaocount 在接口中 CTPBaseDao<T>public int count(java.lang.String hqlStr,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.lang.Object... indexParameter)
count 在接口中 CTPBaseDao<T>public int count(java.lang.String hqlStr,
java.lang.String countPropertiesName,
boolean isDistinct,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.lang.Object... indexParameter)
CTPBaseDaocount 在接口中 CTPBaseDao<T>public java.util.List find(java.lang.String hqlStr,
int firstResult,
int maxResults,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.util.List<java.lang.Object> indexParameter)
CTPBaseDaoCTPBaseDao.find(String, Map, List)find 在接口中 CTPBaseDao<T>firstResult - -1表示不限制maxResults - -1表示不限制namedParameterMap - 可以为null,自动识别参数Collection和Object[]CTPBaseDao.find(String, int, int, Map, Object...)public java.util.List find(java.lang.String hqlStr,
int firstResult,
int maxResults,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.lang.Object... indexParameter)
CTPBaseDaoCTPBaseDao.find(String, Map, Object[])find 在接口中 CTPBaseDao<T>firstResult - -1表示不限制maxResults - -1表示不限制namedParameterMap - 命名参数:可以为null,自动识别参数Collection和Object[]indexParameter - 位置参数CTPBaseDao.find(String, int, int, Map, List),
CTPBaseDao.find(String, Map, List),
CTPBaseDao.find(String, Map, Object...)\public java.util.List find(java.lang.String hqlStr,
java.lang.String countPropertiesName,
boolean isDistinct,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.util.List<java.lang.Object> indexParameter)
CTPBaseDaoPaginationfind 在接口中 CTPBaseDao<T>countPropertiesName - 统计总数的字段isDistinct - 是否需要distinctnamedParameterMap - 命名参数:可以为null,自动识别参数Collection和Object[]indexParameter - 位置参数public java.util.List find(java.lang.String hqlStr,
java.lang.String countPropertiesName,
boolean isDistinct,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.lang.Object... indexParameter)
CTPBaseDaofind 在接口中 CTPBaseDao<T>hqlStr - HQL语句countPropertiesName - 分页,统计字段isDistinct - 针对统计字段是否需要采用DistinctnamedParameterMap - 命名参数:可以为null,自动识别参数Collection和Object[]indexParameter - 位置参数public java.util.List find(java.lang.String hqlStr,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.util.List<java.lang.Object> indexParameter)
CTPBaseDao自动完成分页,并把总数设置到Pagination 查找总数的策略是:count(*)CTPBaseDao.find(String, int, int, Map, List)或CTPBaseDao.find(String, int, int, Map, Object[])find 在接口中 CTPBaseDao<T>namedParameterMap - 命名参数:可以为null,自动识别参数Collection和Object[]indexParameter - 位置参数CTPBaseDao.find(String, Map, Object[]),
CTPBaseDao.find(String, int, int, Map, List),
CTPBaseDao.find(String, int, int, Map, Object...)public java.util.List find(java.lang.String hqlStr,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.lang.Object... indexParameter)
CTPBaseDaoPagination;查找总数的策略是:count(*)CTPBaseDao.find(String, int, int, Map, Object[])find 在接口中 CTPBaseDao<T>namedParameterMap - 命名参数:可以为null,自动识别参数Collection和Object[]indexParameter - 位置参数CTPBaseDao.find(String, Map, List)public java.util.List findNativeSQL(java.lang.String nativeSQL,
java.lang.Class entityClass,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.lang.Object... indexParameter)
CTPBaseDaofindNativeSQL 在接口中 CTPBaseDao<T>nativeSQL - HQL语句entityClass - 查询实体类namedParameterMap - 命名参数:可以为null,自动识别参数Collection和Object[]indexParameter - 位置参数public java.lang.Object findUnique(java.lang.String hqlStr,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.util.List<java.lang.Object> indexParameter)
CTPBaseDaofindUnique 在接口中 CTPBaseDao<T>namedParameterMap - 自动识别参数Collection和Object[]CTPBaseDao.findUnique(String, Map, Object[])public java.lang.Object findUnique(java.lang.String hqlStr,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.lang.Object... indexParameter)
CTPBaseDaofindUnique 在接口中 CTPBaseDao<T>namedParameterMap - 自动识别参数Collection和Object[]CTPBaseDao.findUnique(String, Map, List)protected void setParameters(org.hibernate.Query query,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.lang.Object... indexParameter)
public int bulkUpdate(java.lang.String hql,
java.util.Map<java.lang.String,java.lang.Object> nameParameters,
java.util.List<java.lang.Object> indexParameter)
CTPBaseDaobulkUpdate 在接口中 CTPBaseDao<T>nameParameters - 命名(用:name) 的参数indexParameter - 顺序(用?的)参数CTPBaseDao.bulkUpdate(String, Map, Object[])public int bulkUpdate(java.lang.String hql,
java.util.Map<java.lang.String,java.lang.Object> nameParameters,
java.lang.Object... indexParameter)
CTPBaseDaobulkUpdate 在接口中 CTPBaseDao<T>hql - HQL语句nameParameters - 命名(用:name) 的参数indexParameter - 顺序(用?的)参数CTPBaseDao.bulkUpdate(String, Map, List)public java.util.List findWithCount(java.lang.String hqlStr,
java.lang.String countSql,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.lang.Object... indexParameter)
CTPBaseDaofindWithCount 在接口中 CTPBaseDao<T>hqlStr - 查询语句countSql - 总数查询语句indexParameter - CTPBaseDao.findWithCount(String, String, Map, List)public java.util.List findWithCount(java.lang.String hqlStr,
java.lang.String countSql,
java.util.Map<java.lang.String,java.lang.Object> namedParameterMap,
java.util.List<java.lang.Object> indexParameter)
CTPBaseDaofindWithCount 在接口中 CTPBaseDao<T>hqlStr - 查询语句countSql - 总数查询语句indexParameter - CTPBaseDao.findWithCount(String, String, Map, Object...)