basebo.java

来自「一种快速开发的Java Web架构,doc里有详细的设计文档和开发文档。」· Java 代码 · 共 101 行

JAVA
101
字号
package com.hisoft.cottonbusiness.core.bo;

import java.io.Serializable;
import java.util.Map;

import org.apache.log4j.Logger;

import com.hisoft.cottonbusiness.core.persistence.HibernatePersistenceManager;
import com.hisoft.cottonbusiness.core.persistence.PersistenceManager;
import com.hisoft.cottonbusiness.core.persistence.QueryManager;


public abstract class BaseBO
{

	private static final Logger log = Logger.getLogger(BaseBO.class);

	protected QueryManager qm = null;

	protected PersistenceManager pm = null;
	
	protected HibernatePersistenceManager hpm = null;

	private int count = -1;

	public BaseBO() {
		
	}

	public void setQueryManager(QueryManager qm)
	{
		log.debug("setQueryManager........");

		this.qm = qm;
	}

	public void setPersistenceManager(PersistenceManager pm)
	{
		log.debug("setPersistenceManager........");
		this.pm = pm;
	}
	
	public void setHibernatePersistenceManager(HibernatePersistenceManager hpm)
	{
		log.debug("setHibernatePersistenceManager........");
		this.hpm = hpm;
	}

	/**
	 * 查看
	 * @param id
	 * @return
	 */
	public abstract Map load(Serializable id);

	/**
	 * 创建
	 * 
	 * @param map
	 */
	public abstract void insert(Map map);

	/**
	 * 更新
	 * 
	 * @param map
	 */
	public abstract void update(Map map);

	/**
	 * 删除
	 * 
	 * @param id
	 */
	public abstract void remove(Serializable id);
	

	public int getCount()
	{
		return ((Integer) counter.get()).intValue();
	}

	public void setCount(int count)
	{
		counter.set(new Integer(count));
	}
	
	/**
	 * 因为子类,在Spring容器中,一般为singleton,所以要考虑线程安全
	 */
	private static ThreadLocal counter = new ThreadLocal()
	{
		protected synchronized Object initialValue()
		{
			return new Integer(0);

		}
	};

}

⌨️ 快捷键说明

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