daocommon.java

来自「ibatisDemom Persistance software」· Java 代码 · 共 100 行

JAVA
100
字号
/*
 * Created on 2003-4-25
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
package com.ewuxi.champion.persistence.dao;

import org.apache.commons.logging.LogFactory;

import com.ewuxi.champion.exception.DaoException;

import com.ibatis.db.dao.Dao;
import com.ibatis.db.dao.DaoManager;
import com.ibatis.db.dao.jdbc.SqlMapDaoTransaction;
import com.ibatis.db.sqlmap.SqlMap;


/**
 * @author champion
 *
 * To change the template for this generated type comment go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 * Dao层的统一操作类,提供一些公共函数
 */
public class DaoCommon {
	
	public static Dao getDefautDao(){
		return  DaoManager.getInstance().getDao("");
	}
    public static SqlMap getSqlMap(Dao c) throws DaoException {
        try {
            DaoManager daoManager = DaoManager.getInstance(c);

            if (daoManager == null) {
                daoManager = DaoManager.getInstance();
            }

            SqlMapDaoTransaction trans = (SqlMapDaoTransaction) daoManager.getLocalTransaction();
            SqlMap sqlMap = trans.getSqlMap();

            return sqlMap;
        } catch (Exception e) {
            throw new DaoException(e);
        }
    }

    public static SqlMap getSqlMap(String c) throws DaoException {
        try {
            DaoManager daoManager = DaoManager.getInstance(c);
            SqlMapDaoTransaction trans = (SqlMapDaoTransaction) daoManager.getLocalTransaction();
            SqlMap sqlMap = trans.getSqlMap();

            return sqlMap;
        } catch (Exception e) {
            throw new DaoException(e);
        }
    }

	/**
	     * @throws Exception
	     * 开始事务,所在session层必须使用它
	     */
	public static void startTransaction() throws Exception {
		if (!DaoCommon.inTransaction()) {
			DaoManager.getInstance().startTransaction();
		}
	}

	public static boolean inTransaction() throws Exception {
		try {
			DaoManager.getInstance().getLocalTransaction();
	
			return true;
		} catch (Exception e) {
			return false;
		}
	}

	/**
	     * @throws Exception
	     * 放弃事务
	     */
	public static void rollBack() {
	
		try {
			DaoManager.getInstance().rollbackTransaction();
		} catch (Exception e) {
			LogFactory.getLog(DaoCommon.class).error(e, e);
		}
	}

	/**
	     * @throws Exception
	     * 提交事务
	     */
	public static void commit() throws Exception {
		DaoManager.getInstance().commitTransaction();
	}
}

⌨️ 快捷键说明

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