?? commondaohibimpl.java
字號:
package org.jb.common.dao.hibimpl;
import java.io.Serializable;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Transaction;
import org.jb.common.dao.CommonDAO;
import org.jb.common.util.PageResult;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
/**
*
* @author hailong.liu
*/
public class CommonDAOHibImpl extends HibernateDaoSupport implements CommonDAO {
/* (非 Javadoc)
* @see y2ssh.dlc.chp2.dao.CommonDAO#add(java.lang.Object)
*/
public Serializable add(Object o){
Serializable ret = super.getHibernateTemplate().save(o);
return ret;
}
/* (非 Javadoc)
* @see y2ssh.dlc.chp2.dao.CommonDAO#get(java.lang.Class, java.io.Serializable)
*/
public Object get(Class clazz, Serializable id){
Object ret = super.getHibernateTemplate().get(clazz, id);
return ret;
}
/* (非 Javadoc)
* @see y2ssh.dlc.chp2.dao.CommonDAO#del(java.lang.Class, java.io.Serializable)
*/
public void del(Class clazz,Serializable id){
super.getHibernateTemplate().delete(this.get(clazz, id));
}
/* (非 Javadoc)
* @see y2ssh.dlc.chp2.dao.CommonDAO#update(java.lang.Object)
*/
public void update(Object o){
super.getHibernateTemplate().update(o);
}
/* (非 Javadoc)
* @see y2ssh.dlc.chp2.dao.CommonDAO#search(java.lang.String)
*/
public List list(String hql){
List ret = super.getHibernateTemplate().find(hql);
return ret;
}
/* (非 Javadoc)
* @see org.jb.common.dao.CommonDAO#listByPage(java.lang.String, org.jb.common.util.PageResult)
*/
@SuppressWarnings("unchecked")
public void listByPage(String hql, PageResult pageResult) {
if (null==hql){
return ;
}
Query query = this.getSession().createQuery(hql);
query.setFirstResult(pageResult.getFirstRec());
query.setMaxResults(pageResult.getPageSize());
List ret = query.list();
pageResult.setList(ret);
String queryString = "";
if (hql.toUpperCase().indexOf("SELECT") != -1) {
int i = query.getQueryString().toUpperCase().indexOf("FROM");
queryString = "Select count(*) " + hql.substring(i,hql.length());
} else {
queryString = "Select count(*) " + hql;
}
// 去掉ORDER BY 的部分
int j = queryString.toUpperCase().lastIndexOf("ORDER");
if (j!=-1){
queryString = queryString.substring(0, j);
}
Query cquery = this.getSession().createQuery(queryString);
cquery.setCacheable(true);
int recTotal = ((Integer)cquery.iterate().next()).intValue();
pageResult.setRecTotal(recTotal);
}
public Object execProc(String procName) {
Object ret = null;
//Transaction tx = this.getSession().beginTransaction();
String procedure = "{call "+procName+"() }";
CallableStatement cstmt;
try {
Connection con = this.getSession().connection();
cstmt = con.prepareCall(procedure);
ret = cstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return ret;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -