📄 messagedao.java
字号:
package com.yondor.oa.db.message.dao;
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.Criteria;
import org.hibernate.LockMode;
import org.hibernate.Session;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Expression;
import org.springframework.context.ApplicationContext;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.yondor.oa.db.holsapply.dao.Holsapply;
import com.yondor.oa.db.message.iface.IMessage;
/**
* Data access object (DAO) for domain model class Message.
*
* @see com.yondor.oa.db.message.Message
* @author MyEclipse - Hibernate Tools
*/
public class MessageDAO extends HibernateDaoSupport implements IMessage {
private static final Log log = LogFactory.getLog(MessageDAO.class);
protected void initDao() {
// do nothing
}
public Message save(Message transientInstance) throws SQLException {
log.debug("saving Message instance");
try {
getHibernateTemplate().save(transientInstance);
Long id=this.getCurrentSeqID();
Message po=new Message();
po=this.findById(id);
log.debug("save successful");
return po;
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}
public void delete(Message persistentInstance) {
log.debug("deleting Message instance");
try {
getHibernateTemplate().delete(persistentInstance);
log.debug("delete successful");
} catch (RuntimeException re) {
log.error("delete failed", re);
throw re;
}
}
/*
* (non-Javadoc)
*
* @see com.yondor.oa.db.message.dao.IMessage#findById(java.lang.Long)
*/
public Message findById(java.lang.Long id) {
log.info("getting Message instance with id: " + id);
try {
Message instance = (Message) getHibernateTemplate().get(
Message.class, id);
return instance;
} catch (RuntimeException re) {
log.error("get failed", re);
throw re;
}
}
/**
* 查询方法
*
* @param paramVO
* @return
*/
public List query(MessageVO paramVO) {
DetachedCriteria dc = DetachedCriteria.forClass(Message.class);
if (null != paramVO.getSendop()) {
dc.createAlias(IMessage.SENDOP, "sendop").add(
Expression.eq("sendop.operatorid", paramVO.getSendop()
.getOperatorid()));
}
if (null != paramVO.getRecevieop()) {
dc.createAlias(IMessage.RECEVIEOP, "recevieop").add(
Expression.eq("recevieop.operatorid", paramVO
.getRecevieop().getOperatorid()));
}
if (null != paramVO.getType()) {
dc.createAlias(IMessage.TYPE, "type").add(
Expression.eq("type.greensysparamid", paramVO.getType()
.getGreensysparamid()));
}
if (null != paramVO.getIsread()) {
dc.createAlias(IMessage.ISREAD, "isread").add(
Expression.eq("isread.greensysparamid", paramVO.getIsread()
.getGreensysparamid()));
}
if (null != paramVO.getSendtime()) {
dc.add(Expression.eq("sendtime", paramVO.getSendtime()));
}
if (null != paramVO.getSflag()) {
dc.createAlias(IMessage.SFLAG, "sflag").add(
Expression.eq("sflag.greensysparamid", paramVO.getSflag()
.getGreensysparamid()));
}
return findByCondition(dc);
}
public List query(MessageVO paramVO, int firstResult, int maxResult) {
DetachedCriteria dc = DetachedCriteria.forClass(Message.class);
if (null != paramVO.getSendop()) {
dc.createAlias(IMessage.SENDOP, "sendop").add(
Expression.eq("sendop.operatorid", paramVO.getSendop()
.getOperatorid()));
}
if (null != paramVO.getRecevieop()) {
dc.createAlias(IMessage.RECEVIEOP, "recevieop").add(
Expression.eq("recevieop.operatorid", paramVO
.getRecevieop().getOperatorid()));
}
if (null != paramVO.getType()) {
dc.createAlias(IMessage.TYPE, "type").add(
Expression.eq("type.greensysparamid", paramVO.getType()
.getGreensysparamid()));
}
if (null != paramVO.getIsread()) {
dc.createAlias(IMessage.ISREAD, "isread").add(
Expression.eq("isread.greensysparamid", paramVO.getIsread()
.getGreensysparamid()));
}
if (null != paramVO.getSendtime()) {
dc.add(Expression.eq("sendtime", paramVO.getSendtime()));
}
if (null != paramVO.getSflag()) {
dc.createAlias(IMessage.SFLAG, "sflag").add(
Expression.eq("sflag.greensysparamid", paramVO.getSflag()
.getGreensysparamid()));
}
return findByCondition(dc, firstResult, maxResult);
}
public List getCriteria(DetachedCriteria detachedCriteria)
throws DataAccessException {
return getHibernateTemplate().findByCriteria(detachedCriteria);
}
public List findByCondition(String queryString, String[] paramNames,
Object[] values) {
return getHibernateTemplate().findByNamedParam(queryString, paramNames,
values);
}
public List findByCondition(DetachedCriteria criteria) {
return getHibernateTemplate().findByCriteria(criteria);
}
public List findByCondition(DetachedCriteria criteria, int firstResult,
int maxResults) {
return getHibernateTemplate().findByCriteria(criteria, firstResult,
maxResults);
}
public List findByCondition(Criterion criterion) {
return getHibernateTemplate().findByCriteria(
DetachedCriteria.forClass(Message.class).add(criterion));
}
public List findByCondition(Criterion criterion, int firstResult,
int maxResults) {
return getHibernateTemplate().findByCriteria(
DetachedCriteria.forClass(Message.class).add(criterion),
firstResult, maxResults);
}
public List findByCondition(Criterion self, String alias,
Criterion association, int firstResult, int maxResults) {
return getHibernateTemplate().findByCriteria(
DetachedCriteria.forClass(Message.class).add(self).createAlias(
alias, "model").add(association), firstResult,
maxResults);
}
public List findBySendop(Criterion association) {
return getHibernateTemplate().findByCriteria(
DetachedCriteria.forClass(Message.class).createAlias(SENDOP,
"model").add(association));
}
public List findByRecevieop(Criterion association) {
return getHibernateTemplate().findByCriteria(
DetachedCriteria.forClass(Message.class).createAlias(RECEVIEOP,
"model").add(association));
}
public List findByType(Criterion association) {
return getHibernateTemplate().findByCriteria(
DetachedCriteria.forClass(Message.class).createAlias(TYPE,
"model").add(association));
}
public List findByHql(StringBuffer hql) {
return getHibernateTemplate().find(hql.toString());
}
public List findByExample(Message instance) {
log.debug("finding Message instance by example");
try {
List results = getHibernateTemplate().findByExample(instance);
log.debug("find by example successful, result size: "
+ results.size());
return results;
} catch (RuntimeException re) {
log.error("find by example failed", re);
throw re;
}
}
public List findByProperty(String propertyName, Object value) {
log.debug("finding Message instance with property: " + propertyName
+ ", value: " + value);
try {
String queryString = "from Message as model where model."
+ propertyName + "= ?";
return getHibernateTemplate().find(queryString, value);
} catch (RuntimeException re) {
log.error("find by property name failed", re);
throw re;
}
}
/*
* (non-Javadoc)
*
* @see com.yondor.oa.db.message.dao.IMessage#findByTitle(java.lang.Object)
*/
public List findByTitle(Object title) {
return findByProperty(TITLE, title);
}
/*
* (non-Javadoc)
*
* @see com.yondor.oa.db.message.dao.IMessage#findByContent(java.lang.Object)
*/
public List findByContent(Object content) {
return findByProperty(CONTENT, content);
}
/*
* (non-Javadoc)
*
* @see com.yondor.oa.db.message.dao.IMessage#findByFilepath(java.lang.Object)
*/
public List findByFilepath(Object filepath) {
return findByProperty(FILEPATH, filepath);
}
/*
* (non-Javadoc)
*
* @see com.yondor.oa.db.message.dao.IMessage#findByType(java.lang.Object)
*/
public List findByType(Object type) {
return findByProperty(TYPE, type);
}
/*
* (non-Javadoc)
*
* @see com.yondor.oa.db.message.dao.IMessage#findByIsread(java.lang.Object)
*/
public List findByIsread(Object isread) {
return findByProperty(ISREAD, isread);
}
/*
* (non-Javadoc)
*
* @see com.yondor.oa.db.message.dao.IMessage#merge(com.yondor.oa.db.message.dao.Message)
*/
public Message merge(Message detachedInstance) {
log.debug("merging Message instance");
try {
Message result = (Message) getHibernateTemplate().merge(
detachedInstance);
log.debug("merge successful");
return result;
} catch (RuntimeException re) {
log.error("merge failed", re);
throw re;
}
}
/*
* (non-Javadoc)
*
* @see com.yondor.oa.db.message.dao.IMessage#attachDirty(com.yondor.oa.db.message.dao.Message)
*/
public void attachDirty(Message instance) {
log.debug("attaching dirty Message instance");
try {
getHibernateTemplate().saveOrUpdate(instance);
log.debug("attach successful");
} catch (RuntimeException re) {
log.error("attach failed", re);
throw re;
}
}
/*
* (non-Javadoc)
*
* @see com.yondor.oa.db.message.dao.IMessage#attachClean(com.yondor.oa.db.message.dao.Message)
*/
public void attachClean(Message instance) {
log.debug("attaching clean Message instance");
try {
getHibernateTemplate().lock(instance, LockMode.NONE);
log.debug("attach successful");
} catch (RuntimeException re) {
log.error("attach failed", re);
throw re;
}
}
public static IMessage getFromApplicationContext(ApplicationContext ctx) {
return (IMessage) ctx.getBean("MessageDAO");
}
public Long createNewSeqID() throws SQLException{
Session session=getSession();
Connection connection = session.connection ();
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try {
preparedStatement = connection.prepareStatement ("select TEST_SQ.Nextval from dual");
resultSet = preparedStatement.executeQuery ();
BigDecimal value = null;
while (resultSet.next ()) {
value = resultSet.getBigDecimal (1);
}
return value.longValueExact ();
}
finally {
if (preparedStatement != null) {
preparedStatement.close ();
}
if (resultSet != null) {
resultSet.close ();
}
}
}
public Long getCurrentSeqID() throws SQLException{
Session session=getSession();
Connection connection = session.connection ();
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try {
preparedStatement = connection.prepareStatement ("select TEST_SQ.Currval from dual");
resultSet = preparedStatement.executeQuery ();
BigDecimal value = null;
while (resultSet.next ()) {
value = resultSet.getBigDecimal (1);
}
return value.longValueExact ();
}
finally {
if (preparedStatement != null) {
preparedStatement.close ();
}
if (resultSet != null) {
resultSet.close ();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -