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

📄 basedaoimpl.java.svn-base

📁 学习dwr+struts2+spring进行开发的好例子
💻 SVN-BASE
字号:
package com.szhelper.lotteryWeb.dao.impl;

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

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.jdbc.core.JdbcTemplate;

import com.szhelper.lotteryWeb.common.utils.SQLUtils;
import com.szhelper.lotteryWeb.dao.IBaseDao;
import com.szhelper.lotteryWeb.util.PageBean;
import com.szhelper.lotteryWeb.util.Util;

public class BaseDaoImpl implements IBaseDao {
	private static String SELECT_COUNT = "select count(*) from ";
	private static String SELECT_FROM = "select * from ";
	private static String DELETE_FROM = "delete from ";

	private static String WHERE = " where ";
	private static String UPDATE = " update ";
	private static String SET = " set ";
	private static String ORDER_BY_ID = " order by id desc ";

	private JdbcTemplate jdbcTemplate;
	private String tableName;
	private Class objectClass;
	private String keyColumn;
	private String delFalgColumn;
	protected final Log logger = LogFactory.getLog(getClass());

	public void setKeyColumn(String keyColumn) {
		this.keyColumn = keyColumn;
	}

	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
		this.jdbcTemplate = jdbcTemplate;
	}

	public void setObjectClass(Class objectClass) {
		this.objectClass = objectClass;
	}

	public void setTableName(String tableName) {
		this.tableName = tableName;
	}

	public void setDelFalgColumn(String delFalgColumn) {
		this.delFalgColumn = delFalgColumn;
	}

	public boolean deleteObject(Object id) {
		String sql = DELETE_FROM + tableName + WHERE + keyColumn + "=?";
		try {
			System.out.println(sql);
			jdbcTemplate.update(sql, new Object[] { id });
		} catch (Exception e) {
			logger.equals(e);
			e.printStackTrace();
			return false;
		}
		return true;
	}

	public boolean deleteDummObject(Object id) {
		String sql = UPDATE + tableName + SET + delFalgColumn + "=1   where "
				+ keyColumn + "=?";
		try {
			System.out.println("dummy delete:" + sql);
			jdbcTemplate.update(sql, new Object[] { id });
		} catch (Exception e) {
			e.printStackTrace();
			logger.equals(e);
			return false;
		}
		return true;
	}

	public List findAllObject() {
		String sql = SELECT_FROM + tableName + ORDER_BY_ID;
		return jdbcTemplate.query(sql, new DaoRowMapper(objectClass));
	}

	public List findScopedObject(String... conditions) {
		StringBuffer sql = new StringBuffer();
		sql.append(SELECT_FROM);
		sql.append(tableName);
		if (conditions != null) {
			sql.append(WHERE);
			int i = 0;
			for (String condition : conditions) {
				if (i == 0) {
					sql.append(condition);
				} else {
					sql.append(" and " + condition);
				}
				i++;
			}
		}
		sql.append(ORDER_BY_ID);
		System.out.println(sql.toString());
		return jdbcTemplate
				.query(sql.toString(), new DaoRowMapper(objectClass));
	}

	public Object findObjectByID(Object id) {
		String sql = SELECT_FROM + tableName + WHERE + keyColumn + "=?";
		System.out.println(sql);
		return jdbcTemplate.queryForObject(sql, new Object[] { id },
				new DaoRowMapper(objectClass));
	}

	public boolean insertObject(Object obj) {
		Object[] sqlAndParams = SQLUtils.generateInsert(obj, tableName,
				keyColumn);
		try {
			jdbcTemplate.update((String) sqlAndParams[0],
					(Object[]) sqlAndParams[1]);
		} catch (Exception e) {
			e.printStackTrace();
			logger.equals(e);
			return false;
		}
		return true;
	}

	public boolean updateObject(Object obj) {
		Object[] sqlAndParams = SQLUtils.generateUpdate(obj, tableName,
				keyColumn);
		try {
			jdbcTemplate.update((String) sqlAndParams[0],
					(Object[]) sqlAndParams[1]);
		} catch (Exception e) {
			e.printStackTrace();
			logger.equals(e);
			return false;
		}
		return true;
	}

	public List getPageModelList(PageBean page) {
		String conditions[] = null;
		if (Util.nullOrBlank(page.getPaginateSqlWhere()))
			conditions = new String[] { delFalgColumn + "=0" };
		else
			conditions = new String[] { page.getPaginateSqlWhere(),
					delFalgColumn + "=0" };

		int count = getModelListCount(conditions);
		page.setCount(count);

		if (page.getPage() > 0 && page.getPageSize() > 0) {
			jdbcTemplate.setMaxRows(page.getPage() * page.getPageSize());
		}
		
		List list = findScopedObject(conditions);
		
		jdbcTemplate.setMaxRows(-1);
		List retList = list.subList((page.getPage() - 1) * page.getPageSize(), list.size());
		
		return retList;
	}

	public int getModelListCount(String... conditions) {
		StringBuffer sb = new StringBuffer();
		sb.append(SELECT_COUNT);
		sb.append(tableName);
		if (conditions != null) {
			sb.append(WHERE);
			int i = 0;
			for (String condition : conditions) {
				if (i == 0) {
					sb.append(condition);
				} else {
					sb.append(" and " + condition);
				}
				i++;
			}
		}
		return getModelListCountBySql(sb.toString());
	}

	public int getModelListCountBySql(String sql) {
		return jdbcTemplate.queryForInt(sql.toString());
	}
}

⌨️ 快捷键说明

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