📄 friendimpl.java
字号:
/*
* Created on 2005-12-1
* 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.FriendDAO;
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.Friend;
import com.yeqiangwei.club.param.FriendParameter;
public class FriendImpl implements FriendDAO{
private static final Logger logger = Logger.getLogger(FriendImpl.class);
private static final String FIND_FRIENDID = "from Friend where friendId=?";
private static final String FIND_MYUSERID_FRIENDUSERNAME = "from Friend where myUserId=? and friendUserName=?";
private static final String FIND_MYUSERID_FRIENDUSERID = "from Friend where myUserId=? and friendUserId=?";
private static final String DELETE_FRIENDID = "delete from Friend where friendId=?";
private static final String DELETES_FRIENDID =" delete from Friend where friendId in (:ids)";
private static final String DELETE_MYUSERID = "delete from Friend where myUserId=?";
private HibernateProvider<Friend> getHibernateProvider(){
if(ConnectionProvider.whichConnection==0){
logger.info("HibernateFacade...");
return new HibernateFacade<Friend>();
}else{
logger.info("HibernateUserFacade...");
return new HibernateUserFacade<Friend>();
}
}
public Friend create(Friend item) {
HibernateProvider<Friend> hibernateProvider = this.getHibernateProvider();
item = hibernateProvider.save(item);
return item;
}
public Friend update(Friend item) {
HibernateFacade<Friend> hibernateProvider = new HibernateFacade<Friend>();
item = hibernateProvider.update(item);
return item;
}
public int delete(Friend item) {
HibernateProvider<Friend> hibernateProvider = this.getHibernateProvider();
hibernateProvider.createQuery(DELETE_FRIENDID);
hibernateProvider.setInt(0, item.getFriendId());
return hibernateProvider.executeUpdate();
}
public int delete(List ids) {
HibernateProvider<Friend> hibernateProvider = this.getHibernateProvider();
hibernateProvider.createQuery(DELETES_FRIENDID);
hibernateProvider.setParameterList("ids", ids);
return hibernateProvider.executeUpdate();
}
public Friend findById(int id) {
HibernateProvider<Friend> hibernateProvider = this.getHibernateProvider();
hibernateProvider.createQuery(FIND_FRIENDID);
hibernateProvider.setInt(0, id);
hibernateProvider.setCacheable(true);
hibernateProvider.setMaxResults(1);
return hibernateProvider.uniqueResult();
}
public int deleteByMyUserId(int myUserId) {
HibernateProvider<Friend> hibernateProvider = this.getHibernateProvider();
hibernateProvider.createQuery(DELETE_MYUSERID);
hibernateProvider.setInt(0, myUserId);
return hibernateProvider.executeUpdate();
}
/* test
public static void main(String args[]){
com.yeqiangwei.club.dao.hibernate.ConnectionManager.init();
FriendImpl f = new FriendImpl();
FriendParameter param = new FriendParameter();
param.setMyUserId(95);
Object obj = f.find_friendJoinUser(param);
List list = (List) obj;
System.out.println(list);
com.yeqiangwei.club.dao.hibernate.ConnectionManager.closeSession();
}
*/
public Object find_friendJoinUser(FriendParameter param) {
StringBuffer hql = new StringBuffer();
hql.append("select fi, ui from Friend as fi, User as ui ");
if(param.getMyUserId()!=null){
hql.append(" where fi.friendUserId=ui.userId and fi.myUserId=");
hql.append(param.getMyUserId().intValue());
}
if(param.getFriendUserId()!=null){
hql.append(" where fi.myUserId=ui.userId and fi.friendUserId=");
hql.append(param.getFriendUserId().intValue());
}
if(param.getOrderBy()==null){
hql.append(" order by friendId desc");
}
else if(param.getOrderBy().byteValue()==3){
hql.append(" order by degree desc");
}
HibernateProvider<Friend> hibernateProvider = this.getHibernateProvider();
hibernateProvider.createQuery(hql);
hibernateProvider.setFirstResult(param.getPagination().getStartRow());
hibernateProvider.setMaxResults(param.getPagination().getEndRow());
hibernateProvider.setCacheable(true);
List list = hibernateProvider.executeQuery();
return list;
}
public Friend findByMyUserIdAndFriendUserName(int myUserId, String friendUserName) {
HibernateProvider<Friend> hibernateProvider = this.getHibernateProvider();
hibernateProvider.createQuery(FIND_MYUSERID_FRIENDUSERNAME);
hibernateProvider.setInt(0, myUserId);
hibernateProvider.setString(1, friendUserName);
hibernateProvider.setCacheable(true);
hibernateProvider.setMaxResults(1);
Friend item = hibernateProvider.uniqueResult();
return item;
}
public Friend findByMyUserIdAndFriendUserId(int myUserId, int friendUserId) {
HibernateProvider<Friend> hibernateProvider = this.getHibernateProvider();
hibernateProvider.createQuery(FIND_MYUSERID_FRIENDUSERID);
hibernateProvider.setInt(0, myUserId);
hibernateProvider.setInt(1, friendUserId);
hibernateProvider.setCacheable(true);
hibernateProvider.setMaxResults(1);
Friend item = hibernateProvider.uniqueResult();
return item;
}
public List<Friend> findByParameter(FriendParameter param) {
StringBuffer hql = new StringBuffer();
hql.append("from Friend ");
if(param.getMyUserId()!=null){
hql.append(" where myUserId=");
hql.append(param.getMyUserId());
}
hql.append(" order by friendId desc ");
HibernateProvider<Friend> hibernateProvider = this.getHibernateProvider();
hibernateProvider.createQuery(hql);
hibernateProvider.setFirstResult(param.getPagination().getStartRow());
hibernateProvider.setMaxResults(param.getPagination().getEndRow());
hibernateProvider.setCacheable(true);
List<Friend> list = hibernateProvider.executeQuery();
return list;
}
public long countByParameter(FriendParameter param) {
StringBuffer hql = new StringBuffer();
hql.append("select count(friendId) from Friend ");
if(param.getMyUserId()!=null){
hql.append(" where myUserId=");
hql.append(param.getMyUserId());
}
HibernateProvider<Friend> hibernateProvider = this.getHibernateProvider();
hibernateProvider.createQuery(hql);
hibernateProvider.setCacheable(true);
return hibernateProvider.resultTotal();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -