mybatis的basedao



import java.util.Map;

import javax.annotation.Resource;

import org.apache.ibatis.session.SqlSession;
import org.apache.log4j.Logger;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Repository;

/**
 * 
 * @Description: 公共接口的实现
 * @author liyong
 * @date 2014年11月14日 下午1:46:53
 * @version V1.0
 *
 */
@Scope("prototype")
@Repository("baseDao")
public class BaseDao extends SqlSessionDaoSupport {
	private static Logger logger = Logger.getLogger(BaseDao.class);
	@Resource
	private SqlSessionTemplate sqlSessionTemplate;

	/**
	 * 
	 * @Description: 添加数据
	 * @author liyong
	 * @date 2014年11月14日 下午1:37:08
	 * @version V1.0
	 *
	 */

	public int insert(String statementName, Object parameterObject) {
		SqlSession session = sqlSessionTemplate.getSqlSessionFactory()
				.openSession();
		int count = session.insert(statementName, parameterObject);
		session.close();
		return count;
	}

	/**
	 * 
	 * @Description: 查询数据--单个对象
	 * @author liyong
	 * @date 2014年11月14日 下午1:37:08
	 * @version V1.0
	 *
	 */

	public Object queryForObject(String statementName, Object parameterObject) {
		Object oo = null;
		SqlSession session = sqlSessionTemplate.getSqlSessionFactory()
				.openSession();
		try {
			oo = session.selectOne(statementName, parameterObject);
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
		} finally {
			if (null != session)
				session.close();
		}
		return oo;
	}

	/**
	 * 
	 * @Description: 查询数据--单个对象-不加参数
	 * @author liyong
	 * @date 2014年11月14日 下午1:37:08
	 * @version V1.0
	 *
	 */

	public Object selectList(String statementName) {
		Object oo = null;
		SqlSession session = sqlSessionTemplate.getSqlSessionFactory()
				.openSession();
		try {
			oo = session.selectList(statementName);
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
		} finally {
			if (null != session)
				session.close();
		}
		return oo;
	}

	/**
	 * 
	 * @Description: 查询集合--有参数
	 * @author liyong
	 * @date 2014年11月14日 下午1:37:08
	 * @version V1.0
	 *
	 */

	public Object selectList(String statementName, Object parameterObject) {
		Object oo = null;
		SqlSession session = sqlSessionTemplate.getSqlSessionFactory()
				.openSession();
		try {
			oo = session.selectList(statementName, parameterObject);
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
		} finally {
			if (null != session)
				session.close();
		}
		return oo;
	}

	/**
	 * 
	 * @Description: 修改数据
	 * @author liyong
	 * @date 2014年11月14日 下午1:37:08
	 * @version V1.0
	 *
	 */

	public int updateObject(String statementName, Object parameterObject) {
		SqlSession session = sqlSessionTemplate.getSqlSessionFactory()
				.openSession();
		int count = session.update(statementName, parameterObject);
		session.close();
		return count;
	}

	/**
	 * 
	 * @Description: 删除数据
	 * @author liyong
	 * @date 2014年11月14日 下午1:37:08
	 * @version V1.0
	 *
	 */

	public int deleteObject(String statementName, Object parameterObject) {
		SqlSession session = sqlSessionTemplate.getSqlSessionFactory()
				.openSession();
		int count = session.delete(statementName, parameterObject);
		session.close();
		return count;
	}

	/**
	 * 
	 * @Description: 查询数据
	 * @author liyong
	 * @date 2014年11月14日 下午1:37:08
	 * @version V1.0
	 *
	 */

	public int selectOne(String statementName, Object parameterObject) {
		Integer count = 0;
		SqlSession session = sqlSessionTemplate.getSqlSessionFactory()
				.openSession();
		try {
			count = session.selectOne(statementName, parameterObject);
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
		} finally {
			if (null != session)
				session.close();
		}
		return count;
	}

	public double selectOneDouble(String statementName, Object parameterObject) {
		SqlSession session = sqlSessionTemplate.getSqlSessionFactory()
				.openSession();
		double val = 0;
		try {
			val = session.selectOne(statementName, parameterObject);
		} catch (Exception e) {
			e.printStackTrace();
			logger.error(e);
		} finally {
			if (null != session)
				session.close();
		}
		return val;
	}

	/**
	 * 
	 * @Description: 查询数据
	 * @author liyong
	 * @date 2014年11月14日 下午1:37:08
	 * @version V1.0
	 *
	 */
	public Map<String, Object> selectObjectByProcedure(String statementName,
			Map<String, Object> map) {
		SqlSession sqlSession = sqlSessionTemplate.getSqlSessionFactory()
				.openSession();

		try {
			sqlSession.selectOne(statementName, map);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			sqlSession.close();
		}
		return map;
	}

}

你可能感兴趣的:(mybatis)