public abstract class BaseHibernateDao<T> extends AbstractHibernateDao<T> implements CTPBaseHibernateDao<T>
AbstractHibernateDao| 限定符和类型 | 字段和说明 |
|---|---|
static int |
COUNT_MODE |
static int |
LIST_MODE |
static int |
SCROLL_MODE |
entityClass| 构造器和说明 |
|---|
BaseHibernateDao() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
delete(java.lang.Class entityType,
long id)
按照
id删除指定的实体 |
void |
delete(java.lang.Class entityType,
java.lang.Object[][] where)
按照条件删除指定实体的数据
|
void |
delete(java.lang.Object[][] where)
按照列的值删除数据
|
void |
delete(java.lang.String[] columns,
java.lang.Object[] values)
按照列的值删除数据
|
void |
deleteObject(java.lang.Object entity)
删除一个对象
|
Page |
findBy(java.util.Map filterMap,
java.util.Map orderMap,
int pageNo,
int pageSize,
CriteriaSetup criteriaSetup)
根据Map中过滤条件,排序条件和分页参数进行分页查询.
|
java.util.List<T> |
findByExample(T o)
按照例子获取对象,参数中每一个属性值将都是查询条件
|
int |
getQueryCount(java.lang.String qryHql,
java.lang.Object[] values,
org.hibernate.type.Type[] types)
查询记录数,默认数据库驱动支持指针移动.
|
boolean |
isNotUnique(java.lang.Object entity,
java.lang.String names)
判断对象某列的值在数据库中不存在重复
|
Page |
pagedQuery(org.hibernate.Criteria criteria,
int pageNo,
int pageSize)
Criteria分页查询,默认count模式
|
Page |
pagedQuery(org.hibernate.Criteria criteria,
int pageNo,
int pageSize,
int mode)
Criteria分页查询,可以指定jdbc是否支持scroll
|
Page |
pagedQuery(java.lang.String hql,
int pageNo,
int pageSize,
int mode,
java.lang.Object... args)
HQL分页查询,可以指定具体的模式, 如果是Count方式,须在此层完成hsql的转换与查询。
|
Page |
pagedQuery(java.lang.String hql,
int pageNo,
int pageSize,
java.lang.Object... args)
HQL分页查询,默认count的方式
|
java.util.List |
paginate(org.hibernate.Criteria criteria)
分页
|
java.util.List |
paginate(org.hibernate.Criteria criteria,
org.hibernate.criterion.Order order)
分页
|
java.util.List |
paginate(org.hibernate.Query query) |
void |
remove(java.lang.Object o) |
void |
removeById(java.lang.Long id) |
void |
saveAll(java.util.Collection<? extends java.lang.Object> objects)
保存多个 对象到数据库中
|
protected void |
sortCriteria(org.hibernate.Criteria criteria,
java.util.Map sortMap) |
void |
update(java.lang.Class entityClazz,
java.lang.Long id,
java.util.Map<java.lang.String,java.lang.Object> columns)
更新制定ORM的某条数据的某些字段
|
void |
update(java.lang.Class clazz,
java.util.Map<java.lang.String,java.lang.Object> columns,
java.lang.Object[][] where)
根据id更新制定列的数据,不在需要先get然后update 使用该方法,必须使用泛型
|
void |
update(java.lang.Class clazz,
java.lang.String[] columns,
java.lang.Object[] values,
org.hibernate.type.Type[] types,
java.lang.Object[][] where)
指定更新的列信息(名称、值、类型)和where条件进行update,这里面value可以为null,只要指定type就可以
|
void |
update(java.lang.Long id,
java.util.Map<java.lang.String,java.lang.Object> columns)
更新当前ORM的某条数据的某些字段
|
void |
update(java.lang.String fieldName,
java.lang.Object fieldValue,
java.util.Map<java.lang.String,java.lang.Object> columns)
更新
|
void |
updateAll(java.util.Collection<java.lang.Object> entities)
更新多条数据,所有字段
|
void |
withoutPagination() |
void |
withPagination() |
closeSessionIfNecessary, getSession, getSession, releaseSessionbulkUpdate, bulkUpdate, checkDaoConfig, convertHibernateAccessException, count, count, count, createHibernateTemplate, delete, delete, executeCriteria, executeCriteria, executeUniqueCriteria, find, find, find, find, find, find, findBy, findByLike, findNativeSQL, findSimpleObjects, findSimpleObjects, findUnique, findUnique, findUniqueBy, findVarargs, findWithCount, findWithCount, get, getAll, getBatchSize, getCountByCriteria, getEntityClass, getHibernateTemplate, getSessionFactory, getSimpleObject, save, savePatchAll, setHibernateTemplate, setParameters, setSessionFactory, sortCriteria, update, updatePatchAllclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitbulkUpdate, bulkUpdate, count, count, count, delete, delete, executeCriteria, executeCriteria, executeUniqueCriteria, find, find, find, find, find, find, findBy, findByLike, findNativeSQL, findSimpleObjects, findSimpleObjects, findUnique, findUnique, findUniqueBy, findVarargs, findWithCount, findWithCount, get, getAll, getCountByCriteria, getHibernateTemplate, getSessionFactory, getSimpleObject, save, savePatchAll, setHibernateTemplate, setSessionFactory, update, updatePatchAllpublic static int COUNT_MODE
public static int SCROLL_MODE
public static int LIST_MODE
public Page findBy(java.util.Map filterMap, java.util.Map orderMap, int pageNo, int pageSize, CriteriaSetup criteriaSetup)
CTPBaseHibernateDaofindBy 在接口中 CTPBaseHibernateDao<T>filterMap - 过滤条件.orderMap - 排序条件.pageNo - 当前页码pageSize - 每页显示记录数.public Page pagedQuery(org.hibernate.Criteria criteria, int pageNo, int pageSize)
CTPBaseHibernateDaopagedQuery 在接口中 CTPBaseHibernateDao<T>public Page pagedQuery(org.hibernate.Criteria criteria, int pageNo, int pageSize, int mode)
CTPBaseHibernateDaopagedQuery 在接口中 CTPBaseHibernateDao<T>public Page pagedQuery(java.lang.String hql, int pageNo, int pageSize, java.lang.Object... args)
CTPBaseHibernateDaopagedQuery 在接口中 CTPBaseHibernateDao<T>public Page pagedQuery(java.lang.String hql, int pageNo, int pageSize, int mode, java.lang.Object... args)
CTPBaseHibernateDaopagedQuery 在接口中 CTPBaseHibernateDao<T>public int getQueryCount(java.lang.String qryHql,
java.lang.Object[] values,
org.hibernate.type.Type[] types)
CTPBaseHibernateDaogetQueryCount 在接口中 CTPBaseHibernateDao<T>qryHql - 查询HQL.values - 参数.types - 参数类型.protected void sortCriteria(org.hibernate.Criteria criteria,
java.util.Map sortMap)
public java.util.List paginate(org.hibernate.Criteria criteria)
CTPBaseHibernateDaopaginate 在接口中 CTPBaseHibernateDao<T>public java.util.List paginate(org.hibernate.Criteria criteria,
org.hibernate.criterion.Order order)
CTPBaseHibernateDaopaginate 在接口中 CTPBaseHibernateDao<T>public java.util.List paginate(org.hibernate.Query query)
paginate 在接口中 CTPBaseHibernateDao<T>public void removeById(java.lang.Long id)
removeById 在接口中 CTPBaseHibernateDao<T>public void remove(java.lang.Object o)
remove 在接口中 CTPBaseHibernateDao<T>public void deleteObject(java.lang.Object entity)
CTPBaseHibernateDaodeleteObject 在接口中 CTPBaseHibernateDao<T>public boolean isNotUnique(java.lang.Object entity,
java.lang.String names)
CTPBaseHibernateDaoisNotUnique 在接口中 CTPBaseHibernateDao<T>names - 在POJO里相对应的属性名,列组合时以逗号分割public void withPagination()
withPagination 在接口中 CTPBaseHibernateDao<T>public void withoutPagination()
withoutPagination 在接口中 CTPBaseHibernateDao<T>public void saveAll(java.util.Collection<? extends java.lang.Object> objects)
CTPBaseHibernateDaosaveAll 在接口中 CTPBaseHibernateDao<T>public void updateAll(java.util.Collection<java.lang.Object> entities)
CTPBaseHibernateDaoupdateAll 在接口中 CTPBaseHibernateDao<T>public void update(java.lang.Long id,
java.util.Map<java.lang.String,java.lang.Object> columns)
CTPBaseHibernateDaoupdate 在接口中 CTPBaseHibernateDao<T>id - 要更新的数据columns - 要更新的列public void update(java.lang.Class entityClazz,
java.lang.Long id,
java.util.Map<java.lang.String,java.lang.Object> columns)
CTPBaseHibernateDaoupdate 在接口中 CTPBaseHibernateDao<T>entityClazz - ORM的classid - 要更新的数据columns - 要更新的列,value中允许有null,否则请用
CTPBaseHibernateDao.update(Class, String[], Object[], Type[], Object[][])public void update(java.lang.Class clazz,
java.util.Map<java.lang.String,java.lang.Object> columns,
java.lang.Object[][] where)
CTPBaseHibernateDaoupdate 在接口中 CTPBaseHibernateDao<T>clazz - ORM的classcolumns - key - 列名 value - 值,注意:值的类型必须和数据类型一致,否则异常,value中允许有
null,否则请用
CTPBaseHibernateDao.update(Class, String[], Object[], Type[], Object[][])where - 更新条件,多行2列数组,第一列是列名(String),第二列是值(Object),可以为null
,如:new Object[][]{{"name", "tanmf"}, {"age", 21}}public void update(java.lang.Class clazz,
java.lang.String[] columns,
java.lang.Object[] values,
org.hibernate.type.Type[] types,
java.lang.Object[][] where)
CTPBaseHibernateDaoupdate 在接口中 CTPBaseHibernateDao<T>clazz - 表的Entityvalues - 对应的值,可以有Nulltypes - 列类型,必须和hbm一致public void update(java.lang.String fieldName,
java.lang.Object fieldValue,
java.util.Map<java.lang.String,java.lang.Object> columns)
CTPBaseHibernateDaoupdate 在接口中 CTPBaseHibernateDao<T>fieldName - 更新的条件的列名fieldValue - 更新条件的值columns - 要更新的字段,value中允许有null,否则请用
CTPBaseHibernateDao.update(Class, String[], Object[], Type[], Object[][])public java.util.List<T> findByExample(T o)
CTPBaseHibernateDaofindByExample 在接口中 CTPBaseHibernateDao<T>public void delete(java.lang.Class entityType,
long id)
CTPBaseHibernateDaoid删除指定的实体delete 在接口中 CTPBaseHibernateDao<T>entityType - 指定的实体Classpublic void delete(java.lang.String[] columns,
java.lang.Object[] values)
CTPBaseHibernateDaodelete 在接口中 CTPBaseHibernateDao<T>columns - 列名values - 值,注意:值的类型必须和数据类型一致,否则异常CTPBaseDao.bulkUpdate(String, Map, Object...),
CTPBaseDao.bulkUpdate(String, Map, List),
CTPBaseHibernateDao.delete(Class, Object[][])public void delete(java.lang.Object[][] where)
CTPBaseHibernateDaodelete 在接口中 CTPBaseHibernateDao<T>where - 注意:值的类型必须和数据类型一致,否则异常 多行2列数组,第一列是列名(String),第二列是值(Object),可以为
null,如:
new Object[][]{{"name", "tanmf"}, {"age", 21}}public void delete(java.lang.Class entityType,
java.lang.Object[][] where)
CTPBaseHibernateDaodelete 在接口中 CTPBaseHibernateDao<T>entityType - 指定的实体Classwhere - 多行两列数组,一行表示一个条件,第一个数据是列名,第二个数据是对应的值, 如
{{"name", "中国"}, {"age", 28}},条件都是=CTPBaseDao.bulkUpdate(String, Map, Object...),
CTPBaseDao.bulkUpdate(String, Map, List)