hibernate中getHibernateTemplate查询部分字段
来源:互联网 发布:java中什么叫单元测试 编辑:程序博客网 时间:2024/06/04 18:24
package com.heishan.schoolcloud.dao;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.transform.Transformers;
import org.hibernate.type.Type;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class CommonDAO extends HibernateDaoSupport {
private static final Log MYLOG = LogFactory.getLog(CommonDAO.class);
/**
* save
*
* @param transientInstance
*/
public void save(Object transientInstance) {
MYLOG.debug("deleting " + Object.class.getName());
try {
getHibernateTemplate().save(transientInstance);
MYLOG.debug("save successful");
} catch (RuntimeException re) {
MYLOG.error("save failed", re);
throw re;
}
}
/**
* update
*
* @param transientInstance
*/
public void update(Object transientInstance) {
MYLOG.debug("deleting " + Object.class.getName());
try {
getHibernateTemplate().update(transientInstance);
MYLOG.debug("save successful");
} catch (RuntimeException re) {
MYLOG.error("save failed", re);
throw re;
}
}
/**
* delete
*
* @param persistentInstance
*/
public void delete(Object persistentInstance) {
MYLOG.debug("deleting " + Object.class.getName());
try {
getHibernateTemplate().delete(persistentInstance);
MYLOG.debug("delete successful");
} catch (RuntimeException re) {
MYLOG.error("delete failed", re);
throw re;
}
}
/**
* get Object(such as Integer, Long)
*
* @param hql
* @param objArr
* @param typeArr
* @return
*/
public Object getObjectByHql(final String hql, final Object[] objArr, final Type[] typeArr) {
MYLOG.debug("getObjectByHql: " + hql);
try {
Object obj = getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Query query = session.createQuery(hql);
if (objArr != null) {
query.setParameters(objArr, typeArr);
}
return query.uniqueResult();
}
});
return obj;
} catch (RuntimeException re) {
MYLOG.error("get failed", re);
throw re;
}
}
/**
* get Object(such as Integer, Long)
*
* @param hql
* @param objArr
* @param typeArr
* @return
*/
public Object getObjectByHql(final String hql) {
return getObjectByHql(hql, null, null);
}
/**
* getList
*
* @param hql
* @param objArr
* @param typeArr
* @return List<Object[]>
*/
public List<?> getListByHql(final String hql, final Object[] objArr, final Type[] typeArr) {
MYLOG.debug("getListByHql: " + hql);
try {
List<?> list = getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Query query = session.createQuery(hql);
if (objArr != null) {
query.setParameters(objArr, typeArr);
}
List<?> list = query.list();
return list;
}
});
return list;
} catch (RuntimeException re) {
MYLOG.error("get failed", re);
throw re;
}
}
/**
* getList
*
* @param hql
* @return List<Object[]>
*/
public List<?> getListByHql(final String hql) {
return getListByHql(hql, null, null);
}
/**
* 此方法对含有text的字段不支持
*
* @param sql eg: select AHDM,AH from AJ where AHDM='227300000005631'
* @return List<Map>
*/
@SuppressWarnings("unchecked")
public Map<String, Object> getMapBySql(final String sql) {
MYLOG.debug("getListBySql: " + sql);
try {
Object obj = getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Query query = session.createSQLQuery(sql);
query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
return query.uniqueResult();
}
});
return (Map<String, Object>) obj;
} catch (RuntimeException re) {
MYLOG.error("get failed", re);
throw re;
}
}
/**
* 此方法对含有text的字段不支持
*
* @param sql eg: select AHDM,AH from AJ where AHDM='227300000005631'
* @return List<Map>
*/
public List<?> getListBySql(final String sql, final Object[] objArr, final Type[] typeArr) {
MYLOG.debug("getListBySql: " + sql);
try {
List<?> list = getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Query query = session.createSQLQuery(sql);
if (objArr != null) {
query.setParameters(objArr, typeArr);
}
query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
List<?> list = query.list();
return list;
}
});
return list;
} catch (RuntimeException re) {
MYLOG.error("get failed", re);
throw re;
}
}
/**
* 此方法对含有text的字段不支持
*
* @param sql eg: select AHDM,AH from AJ where AHDM='227300000005631'
* @return List<Map>
*/
public List<?> getListBySql(final String sql) {
return getListBySql(sql, null, null);
}
/**
* 更新
*
* @param sql
* @return
*/
public int updateSql(final String sql, final Object[] objArr, final Type[] typeArr) {
try {
int i = (Integer) getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Query query = session.createSQLQuery(sql);
if (objArr != null) {
query.setParameters(objArr, typeArr);
}
return query.executeUpdate();
}
});
return i;
} catch (RuntimeException re) {
MYLOG.error("get failed", re);
throw re;
}
}
/**
* 更新
*
* @param sql
* @return
*/
public int updateSql(final String sql) {
return updateSql(sql, null, null);
}
}
- hibernate中getHibernateTemplate查询部分字段
- 使用hibernate中getHibernateTemplate查询部分字段
- hibernate查询部分字段
- Hibernate - 查询部分字段
- hibernate查询部分字段
- Hibernate中用hql查询部分字段
- Hibernate中用hql查询部分字段
- Hibernate中用hql查询部分字段
- Hibernate中用hql查询部分字段
- Hibernate HQL 查询POJO部分字段
- Hibernate中用hql查询部分字段
- Hibernate使用Criteria查询部分字段
- Hibernate查询部分字段并封装到指定类中(HQL)
- Hibernate查询部分字段并封装到指定类中(HQL)
- Hibernate高效查询,只查询部分/指定字段
- Hibernate高效查询,只查询部分/指定字段
- Hibernate高效查询,只查询部分/指定字段
- Hibernate getHibernateTemplate()内部类实现查询
- AndroidManifest.xml各种属性详解
- 如何快速访问国外网站?
- Xcode快捷键和使用技巧
- イタチの養鶏場で鼠を捕ると一緒に遊びキジ
- 罗云彬Win32汇编
- hibernate中getHibernateTemplate查询部分字段
- Activity 生命周期
- C++ 宏定义中空格引起的悲剧
- SQL2005/2008中的CTE应用--递归查询
- POJ 1611
- 设置 Ubuntu 窗口菜单
- 验证open cursor 与 fetch的内部操作
- 网页制作(二)---HTML中的常用布局组件
- TextView属性大全+单行显示长文本