📄 messagetakeimpl.java
字号:
/*
* Created on 2005-11-4
* Last modified on 2007-9-8
* Powered by YeQiangWei.com
*/
package com.yeqiangwei.club.dao.hibernate.impl;
import java.util.List;
import org.apache.log4j.Logger;
import com.yeqiangwei.club.dao.MessageTakeDAO;
import com.yeqiangwei.club.dao.hibernate.ConnectionProvider;
import com.yeqiangwei.club.dao.hibernate.support.HibernateFacade;
import com.yeqiangwei.club.dao.hibernate.support.HibernateProvider;
import com.yeqiangwei.club.dao.hibernate.support.HibernateUserFacade;
import com.yeqiangwei.club.dao.model.MessageTake;
import com.yeqiangwei.club.param.MessageParameter;
/**
* @author YeQiangWei by 我容易么我
* Powered by YeQiangWei.com
*/
public class MessageTakeImpl implements MessageTakeDAO{
private static final Logger logger = Logger.getLogger(MessageTakeImpl.class);
private static final String FIND_TAKEID = "from MessageTake where takeId=?";
private static final String UPDATE_ISOPENED = "update MessageTake set isOpened=? where takeId=?";
private static final String DELETES_TAKEID = "delete MessageTake where takeId in (:ids)";
private static final String DELETE_TAKEID = "delete MessageTake where takeId=?";
private static final String DELETE_USERID = "delete MessageTake where userId=?";
private HibernateProvider<MessageTake> getHibernateProvider(){
if(ConnectionProvider.whichConnection==0){
logger.info("HibernateFacade...");
return new HibernateFacade<MessageTake>();
}else{
logger.info("HibernateUserFacade...");
return new HibernateUserFacade<MessageTake>();
}
}
public int deleteByUserId(int userId) {
HibernateProvider<MessageTake> hibernateProvider = this.getHibernateProvider();
hibernateProvider.createQuery(DELETE_USERID);
hibernateProvider.setInt(0, userId);
return hibernateProvider.executeUpdate();
}
public MessageTake create(MessageTake item) {
HibernateProvider<MessageTake> hibernateProvider = this.getHibernateProvider();
item = hibernateProvider.save(item);
return item;
}
public MessageTake update(MessageTake item) {
HibernateProvider<MessageTake> hibernateProvider = this.getHibernateProvider();
item = hibernateProvider.update(item);
return item;
}
public int update_space(List<Integer> ids, byte space)
{
StringBuffer hql = new StringBuffer();
hql.append("update MessageTake set space=? where takeId in (:ids)");
HibernateProvider<MessageTake> hibernateProvider = this.getHibernateProvider();
hibernateProvider.createQuery(hql);
hibernateProvider.setByte(0,space);
hibernateProvider.setParameterList("ids",ids);
return hibernateProvider.executeUpdate();
}
public int update_isOpened(int id, boolean isOpened) {
HibernateProvider<MessageTake> hibernateProvider = this.getHibernateProvider();
hibernateProvider.createQuery(UPDATE_ISOPENED);
hibernateProvider.setBoolean(0,isOpened);
hibernateProvider.setInt(1,id);
return hibernateProvider.executeUpdate();
}
public int delete(MessageTake item) {
HibernateProvider<MessageTake> hibernateProvider = this.getHibernateProvider();
hibernateProvider.createQuery(DELETE_TAKEID);
hibernateProvider.setInt(0, item.getTakeId());
return hibernateProvider.executeUpdate();
}
public int delete(List<Integer> ids){
HibernateProvider<MessageTake> hibernateProvider = this.getHibernateProvider();
hibernateProvider.createQuery(DELETES_TAKEID);
hibernateProvider.setParameterList("ids",ids);
return hibernateProvider.executeUpdate();
}
/*
public int delete(List ids) {
int c = 0;
List<Integer> list = new ArrayList<Integer>();
for(int i=0; i<ids.length; i++){
int id = TypeChange.stringToInt(ids[i]);
list.add(new Integer(id));
}
c = this.delete(list);
return c;
}
*/
public MessageTake findById(int id) {
HibernateProvider<MessageTake> hibernateProvider = this.getHibernateProvider();
hibernateProvider.createQuery(FIND_TAKEID);
hibernateProvider.setInt(0, id);
return hibernateProvider.uniqueResult();
}
public List<MessageTake> findByParameter(MessageParameter param) {
StringBuffer hql = new StringBuffer();
hql.append("from MessageTake where takeId>0");
if(param.getUserIdOfTake()!=null){
hql.append(" and userIdOfTake=");
hql.append(param.getUserIdOfTake().intValue());
}
if(param.getIsOpened()!=null){
hql.append(" and isOpened=:isOpened ");
}
if(param.getSpace()!=null){
hql.append(" and space=");
hql.append(param.getSpace().byteValue());
}
if(param.getReplyId()!=null){
hql.append(" and (takeId=");
hql.append(param.getReplyId().intValue());
hql.append(" or replyId=");
hql.append(param.getReplyId().intValue());
hql.append(") ");
}
else if(param.getTakeId()!=null){
hql.append(" and (takeId=");
hql.append(param.getTakeId().intValue());
hql.append(" or replyId=");
hql.append(param.getTakeId().intValue());
hql.append(") ");
}
if(param.getOrderBy()==null){
hql.append(" order by isOpened, takeId desc ");
}else if(param.getOrderBy().byteValue()==(byte)1){
hql.append(" order by replyId, takeId asc");
}else{
hql.append(" order by isOpened, takeId desc ");
}
HibernateProvider<MessageTake> hibernateProvider = this.getHibernateProvider();
hibernateProvider.createQuery(hql);
if(param.getIsOpened()!=null){
hibernateProvider.setBoolean("isOpened",param.getIsOpened());
}
hibernateProvider.setFirstResult(param.getPagination().getStartRow());
hibernateProvider.setMaxResults(param.getPagination().getEndRow());
List<MessageTake> list = hibernateProvider.executeQuery();
return list;
}
public long countByParameter(MessageParameter param) {
StringBuffer hql = new StringBuffer();
hql.append("select count(takeId) from MessageTake where takeId>0");
if(param.getUserIdOfTake()!=null){
hql.append(" and userIdOfTake=");
hql.append(param.getUserIdOfTake().intValue());
}
if(param.getIsOpened()!=null){
hql.append(" and isOpened=:isOpened ");
}
if(param.getSpace()!=null){
hql.append(" and space=");
hql.append(param.getSpace().byteValue());
}
if(param.getReplyId()!=null){
hql.append(" and (takeId=");
hql.append(param.getReplyId().intValue());
hql.append(" or replyId=");
hql.append(param.getReplyId().intValue());
hql.append(") ");
}
else if(param.getTakeId()!=null){
hql.append(" and (takeId=");
hql.append(param.getTakeId().intValue());
hql.append(" or replyId=");
hql.append(param.getTakeId().intValue());
hql.append(") ");
}
HibernateProvider<MessageTake> hibernateProvider = this.getHibernateProvider();
hibernateProvider.createQuery(hql);
if(param.getIsOpened()!=null){
hibernateProvider.setBoolean("isOpened",param.getIsOpened());
}
return hibernateProvider.resultTotal();
}
public List findAll(MessageParameter param) {
return this.findByParameter(param);
}
public long countAll(MessageParameter param) {
return this.countByParameter(param);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -