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, releaseSession
bulkUpdate, 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, updatePatchAll
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
bulkUpdate, 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, updatePatchAll
public 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)
CTPBaseHibernateDao
findBy
在接口中 CTPBaseHibernateDao<T>
filterMap
- 过滤条件.orderMap
- 排序条件.pageNo
- 当前页码pageSize
- 每页显示记录数.public Page pagedQuery(org.hibernate.Criteria criteria, int pageNo, int pageSize)
CTPBaseHibernateDao
pagedQuery
在接口中 CTPBaseHibernateDao<T>
public Page pagedQuery(org.hibernate.Criteria criteria, int pageNo, int pageSize, int mode)
CTPBaseHibernateDao
pagedQuery
在接口中 CTPBaseHibernateDao<T>
public Page pagedQuery(java.lang.String hql, int pageNo, int pageSize, java.lang.Object... args)
CTPBaseHibernateDao
pagedQuery
在接口中 CTPBaseHibernateDao<T>
public Page pagedQuery(java.lang.String hql, int pageNo, int pageSize, int mode, java.lang.Object... args)
CTPBaseHibernateDao
pagedQuery
在接口中 CTPBaseHibernateDao<T>
public int getQueryCount(java.lang.String qryHql, java.lang.Object[] values, org.hibernate.type.Type[] types)
CTPBaseHibernateDao
getQueryCount
在接口中 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)
CTPBaseHibernateDao
paginate
在接口中 CTPBaseHibernateDao<T>
public java.util.List paginate(org.hibernate.Criteria criteria, org.hibernate.criterion.Order order)
CTPBaseHibernateDao
paginate
在接口中 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)
CTPBaseHibernateDao
deleteObject
在接口中 CTPBaseHibernateDao<T>
public boolean isNotUnique(java.lang.Object entity, java.lang.String names)
CTPBaseHibernateDao
isNotUnique
在接口中 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)
CTPBaseHibernateDao
saveAll
在接口中 CTPBaseHibernateDao<T>
public void updateAll(java.util.Collection<java.lang.Object> entities)
CTPBaseHibernateDao
updateAll
在接口中 CTPBaseHibernateDao<T>
public void update(java.lang.Long id, java.util.Map<java.lang.String,java.lang.Object> columns)
CTPBaseHibernateDao
update
在接口中 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)
CTPBaseHibernateDao
update
在接口中 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)
CTPBaseHibernateDao
update
在接口中 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)
CTPBaseHibernateDao
update
在接口中 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)
CTPBaseHibernateDao
update
在接口中 CTPBaseHibernateDao<T>
fieldName
- 更新的条件的列名fieldValue
- 更新条件的值columns
- 要更新的字段,value中允许有null
,否则请用
CTPBaseHibernateDao.update(Class, String[], Object[], Type[], Object[][])
public java.util.List<T> findByExample(T o)
CTPBaseHibernateDao
findByExample
在接口中 CTPBaseHibernateDao<T>
public void delete(java.lang.Class entityType, long id)
CTPBaseHibernateDao
id
删除指定的实体delete
在接口中 CTPBaseHibernateDao<T>
entityType
- 指定的实体Classpublic void delete(java.lang.String[] columns, java.lang.Object[] values)
CTPBaseHibernateDao
delete
在接口中 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)
CTPBaseHibernateDao
delete
在接口中 CTPBaseHibernateDao<T>
where
- 注意:值的类型必须和数据类型一致,否则异常 多行2列数组,第一列是列名(String),第二列是值(Object),可以为
null
,如:
new Object[][]{{"name", "tanmf"}, {"age", 21}}
public void delete(java.lang.Class entityType, java.lang.Object[][] where)
CTPBaseHibernateDao
delete
在接口中 CTPBaseHibernateDao<T>
entityType
- 指定的实体Classwhere
- 多行两列数组,一行表示一个条件,第一个数据是列名,第二个数据是对应的值, 如
{{"name", "中国"}, {"age", 28}}
,条件都是=
CTPBaseDao.bulkUpdate(String, Map, Object...)
,
CTPBaseDao.bulkUpdate(String, Map, List)