📄 basedaoimpl.java
字号:
package jaoso.framework.dao.hibernate;
import jaoso.framework.dao.BaseDAO;
import jaoso.framework.dao.MyQuery;
import jaoso.framework.dao.Para;
import jaoso.framework.exception.DAOException;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Query;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate.support.HibernateDaoSupport;
import java.io.Serializable;
import java.sql.Types;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* DOCUMENT ME!
*
* @author $author$
* @version $Revision$
*/
public class BaseDAOImpl extends HibernateDaoSupport implements BaseDAO {
//~ Static fields/initializers =============================================
//==============================================================================
/** DOCUMENT ME! */
private static Log log = LogFactory.getLog(BaseDAOImpl.class);
//~ Constructors ===========================================================
/**
* Creates a new BaseDAOImpl object.
*/
public BaseDAOImpl() {
}
//~ Methods ================================================================
//===============================================================================
/**
* Find some objects from database
*
* @param query MyQuery
* @return entity array
*/
public final Object[] findEntity(final MyQuery query) {
Object[] objs = null;
List list;
try {
if (query.isCache()) {
list = new ArrayList();
for (Iterator it = getQuery(query)
.iterate(); it.hasNext();) {
list.add(it.next());
}
objs = new Object[list.size()];
objs = list.toArray(objs);
} else {
list = getQuery(query)
.list();
objs = new Object[list.size()];
objs = list.toArray(objs);
}
} catch (HibernateException e) {
log.error("Find objects from database error:" + e);
throw new DAOException("Find objects from database error:"
+ e.getMessage());
} catch (DataAccessException e) {
log.error("Find objects from database error:" + e);
throw new DAOException(e);
} catch (Throwable e) {
log.error("Find objects from database error:" + e);
throw new DAOException(e);
}
return objs;
}
/** (non-Javadoc)
* @see jaoso.framework.dao.BaseDAO#findEntity(java.lang.String)
*/
public final Object[] findEntity(final String query) {
MyQuery myquery = new MyQuery();
myquery.setQueryString(query);
return findEntity(myquery);
}
//end mothod
//===============================================================================
/**
* load a object from database
*
* @param obj Object
* @param id Serializable
* @return entity
*/
public final Object loadEntity(final Object obj, final Serializable id) {
Object entity;
try {
entity = getHibernateTemplate()
.load(obj.getClass(), id);
} catch (DataAccessException e) {
log.error("load entity error: " + e);
throw new DAOException(e);
} catch (Throwable e) {
log.error("load entity error: " + e);
throw new DAOException(e);
}
return entity;
}
/** (non-Javadoc)
* @see jaoso.framework.dao.BaseDAO#loadEntity(java.lang.Class, java.io.Serializable)
*/
public final Object loadEntity(final Class clasz, final Serializable id) {
Object obj = null;
try {
obj = getHibernateTemplate()
.load(clasz, id);
} catch (DataAccessException e) {
log.error("load entity error: " + e);
throw new DAOException(e);
} catch (Throwable e) {
log.error("load entity error: " + e);
throw new DAOException(e);
}
return obj;
}
//==============================================================================
/**
* Remove a object from database
*
* @param obj Object
*
*/
public final void removeEntity(final Object obj) {
try {
getHibernateTemplate()
.delete(obj);
} catch (DataAccessException e) {
log.error("remove entity error: " + e);
throw new DAOException(e);
} catch (Throwable e) {
log.error("remove entity error: " + e);
throw new DAOException(e);
}
}
//==============================================================================
/**
* insert or update a object to database
*
* @param obj Object
* @return entity
*/
public final Object saveEntity(final Object obj) {
try {
getHibernateTemplate()
.save(obj);
} catch (DataAccessException e) {
log.error("save entity error: " + e);
throw new DAOException(e);
} catch (Throwable e) {
log.error("save entity error: " + e);
throw new DAOException(e);
}
return obj;
}
/**
* DOCUMENT ME!
*
* @param obj DOCUMENT ME!
*
* @return DOCUMENT ME!
*
*/
public final Object updateEntity(final Object obj) {
try {
getHibernateTemplate()
.update(obj);
} catch (DataAccessException e) {
log.error("update entity error: " + e);
throw new DAOException(e);
} catch (Throwable e) {
log.error("update entity error: " + e);
throw new DAOException(e);
}
return obj;
}
/**
* DOCUMENT ME!
*
* @param myquery DOCUMENT ME!
*
* @return DOCUMENT ME!
*/
private Query getQuery(final MyQuery myquery) {
StringBuffer querystr = new StringBuffer(myquery.getQueryString());
//????????
if (myquery.getOrderby() != null) {
querystr.append(myquery.getOrderby());
}
//????
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -