⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 searchdao.java

📁 此系统为我大家完全开发一个相册管理系统
💻 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 + -