imageinfodaosql.java

来自「非常有影响的 j道 论 坛 源码 国外很有明的专家编写的 ....对java爱好」· Java 代码 · 共 86 行

JAVA
86
字号
package com.jdon.jivejdon.dao.sql;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.apache.log4j.Logger;

import com.jdon.controller.model.PageIterator;
import com.jdon.jivejdon.Constants;
import com.jdon.jivejdon.dao.ImageInfoDao;
import com.jdon.jivejdon.model.ImageInfo;
import com.jdon.jivejdon.repository.builder.MessageInitFactory;
import com.jdon.jivejdon.service.util.ContainerUtil;
import com.jdon.model.query.PageIteratorSolver;

/**
 * 
 * @author <a href="mailto:xinying_ge@yahoo.com.cn">GeXinying</a>
 *
 */
public class ImageInfoDaoSql implements ImageInfoDao {

	private final static Logger logger = Logger.getLogger(ImageInfoDaoSql.class);

	private PageIteratorSolver pageIteratorSolver;

	private MessageInitFactory messageInitFactory;

	private JdbcTempSource jdbcTempSource;

	public ImageInfoDaoSql(JdbcTempSource jdbcTempSource, ContainerUtil containerUtil, 
			 MessageInitFactory messageInitFactory) {
		this.pageIteratorSolver = new PageIteratorSolver(jdbcTempSource.getDataSource(), containerUtil.getCacheManager());
		this.jdbcTempSource = jdbcTempSource;
		this.messageInitFactory = messageInitFactory;
	}

	public PageIterator getImages(int start, int count) {
		logger.debug("enter getImages ..");

		String GET_ALL_ITEMS_ALLCOUNT = "select count(1) from upload ";

		String GET_ALL_ITEMS = "select objectId from upload ";

		return pageIteratorSolver.getPageIterator(GET_ALL_ITEMS_ALLCOUNT, GET_ALL_ITEMS, "", start, count);
	}

	public ImageInfo getImage(String key) {
		logger.debug("enter getForum for id:" + key);
		String LOAD_FORUM = "SELECT objectId, name, description, messageId FROM upload WHERE objectId=?";
		List queryParams = new ArrayList();
		queryParams.add(key);

		ImageInfo ret = new ImageInfo();
		try {
			List list = jdbcTempSource.getJdbcTemp().queryMultiObject(queryParams, LOAD_FORUM);
			Iterator iter = list.iterator();
			if (iter.hasNext()) {
				Map map = (Map) iter.next();
				ret = messageInitFactory.createMessageImage(key, map);
			}
		} catch (Exception se) {
			logger.error(se);
		}
		return ret;
	}

	public void deleteImage(String key) {
		String DELETE_IMAGE = "DELETE FROM upload WHERE objectId=?";
		List queryParams = new ArrayList();
		queryParams.add(key);
		try {
			jdbcTempSource.getJdbcTemp().operate(queryParams, DELETE_IMAGE);
			clearCache();
		} catch (Exception e) {
			logger.error("imageId=" + key + " happend " + e);
		}
	}

	public void clearCache() {
		pageIteratorSolver.clearCache();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?