📄 searchdao.java
字号:
/* ====================================================================
* $Id$
* ====================================================================
* 文件名 SearchDao.java
* 机能名
* 履历 2005-2-1 dlxu 创建新文件
* Copyright 2004 东南大学 All Rights Reserved
* ====================================================================
*/
package cn.edu.seu.album.dao;
import java.util.ArrayList;
import java.util.List;
import net.sf.hibernate.Query;
import net.sf.hibernate.Session;
import org.apache.log4j.Category;
import org.apache.log4j.Logger;
import cn.edu.seu.album.common.StringUtil;
import cn.edu.seu.album.model.SearchCondition;
/**
* <p> [概 要] </p>
* <p> [详 细] </p>
* <p> [备 考] 无。</p>
*
* @author dlxu
* @version 1.0 2005-2-1
* @since 1.0
*/
public final class SearchDao {
/**
* 日志定义。
*/
private static final Category log = Logger.getInstance(SearchDao.class);
/**
* 单例模式。
*/
private static SearchDao dao = new SearchDao();
/**
* <p> [概 要] 构造方法</p>
* <p> [详 细] 构造方法</p>
* <p> [备 考] 无。</p>
*
*/
private SearchDao() {
}
/**
* <p> [概 要] </p>
* <p> [详 细] </p>
* <p> [备 考] 无。</p>
* @return
*/
public static SearchDao getInstance() {
return dao;
}
/**
* <p> [概 要] </p>
* <p> [详 细] </p>
* <p> [备 考] 无。</p>
* @param condition
* @param session
* @return
*/
public List getPictureList(SearchCondition cond, Session session)
throws Exception {
log.debug("getPictureList开始");
String sql = getSearchSql(cond);
Query query = session.createQuery(sql);
if (!StringUtil.isEmpty(cond.getFromYear())) {
query.setTimestamp(0, cond.getFromDate());
query.setTimestamp(1, cond.getToDate());
}
if (!StringUtil.isEmpty(cond.getOwner())) {
if (!StringUtil.isEmpty(cond.getFromYear())) {
query.setString(2, cond.getOwner());
} else {
query.setString(0, cond.getOwner());
}
}
List rsltList = query.list();
if (null == rsltList) {
rsltList = new ArrayList();
}
log.debug("getPictureList结束");
return rsltList;
}
/**
* <p> [概 要] </p>
* <p> [详 细] </p>
* <p> [备 考] 无。</p>
* @param cond
* @return
*/
private String getSearchSql(SearchCondition cond) {
log.debug("getSearchSql开始");
StringBuffer sql = new StringBuffer();
sql.append(" from ");
sql.append(" cn.edu.seu.album.pojo.Photo photo ");
sql.append(" where ");
sql.append(" 1 = 1 ");
if (!StringUtil.isEmpty(cond.getFromYear())) {
sql.append(" and photo.lastUpdateDate > ? ");
sql.append(" and photo.lastUpdateDate < ? ");
}
if (!StringUtil.isEmpty(cond.getOwner())) {
sql.append(" and photo.person.name = ? ");
}
sql.append(" order by ");
if (StringUtil.isEmpty(cond.getSortField())) {
sql.append(" photo.lastUpdateDate desc ");
} else {
sql.append(cond.getSortField());
sql.append(" ");
sql.append(cond.getSortOrder());
}
log.debug("getSearchSql结束");
return sql.toString();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -