当前位置: 代码迷 >> SQL >> mybatis 依托SqlSessionTemplate例子
  详细解决方案

mybatis 依托SqlSessionTemplate例子

热度:59   发布时间:2016-05-05 11:09:09.0
mybatis 依赖SqlSessionTemplate例子
MyBatisDAO :
import java.sql.SQLException;import java.util.*;import org.apache.ibatis.session.RowBounds;import org.apache.ibatis.session.SqlSession;import org.mybatis.spring.SqlSessionCallback;import org.mybatis.spring.SqlSessionTemplate;public class MyBatisDAO extends BaseDAO {	protected SqlSessionTemplate sqlSessionTemplate;	public MyBatisDAO() {	}	public void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate) {		this.sqlSessionTemplate = sqlSessionTemplate;	}	public void delete(String statementId, Object deleteObject) {		try {			sqlSessionTemplate.delete(statementId, deleteObject);		} catch (Exception e) {			throw new DAOException((new StringBuilder(					"根据参数对象删除数据失败,参数列表(statementId:")).append(statementId)					.append(" deleteObject:").append(deleteObject).append(")")					.toString(), e);		}	}	public void insert(String statementId, Object insertObject) {		try {			sqlSessionTemplate.insert(statementId, insertObject);		} catch (Exception e) {			throw new DAOException((new StringBuilder(					"根据参数对象新增数据失败,参数列表(statementId:")).append(statementId)					.append(" insertObject:").append(insertObject).append(")")					.toString(), e);		}	}	public void insert(String statementId, BaseVO entity) {		try {			refreshUpdateTime(entity);			sqlSessionTemplate.insert(statementId, entity);		} catch (Exception e) {			throw new DAOException(					(new StringBuilder("根据参数对象新增数据失败,参数列表(statementId:"))							.append(statementId).append(" entities:")							.append(entity).append(")").toString(), e);		}	}	public void insert(final String statementId, final Collection entities) {		try {			sqlSessionTemplate.execute(new SqlSessionCallback() {				final MyBatisDAO this$0;				private final Collection val$entities;				private final String val$statementId;				public Collection doInSqlSession(SqlSession sqlSession)						throws SQLException {					BaseVO t;					for (Iterator iterator = entities.iterator(); iterator							.hasNext(); sqlSession.insert(statementId, t))						t = (BaseVO) iterator.next();					return entities;				}				public volatile Object doInSqlSession(SqlSession sqlsession)						throws SQLException {					return doInSqlSession(sqlsession);				}				{					this$0 = MyBatisDAO.this;					entities = collection;					statementId = s;					super();				}			});		} catch (Exception e) {			throw new DAOException((new StringBuilder(					"根据参数对象批量数据失败,参数列表(statementId:")).append(statementId)					.append(" entities:").append(entities).append(")")					.toString(), e);		}	}	public void update(String statementId, Object updateObject) {		try {			sqlSessionTemplate.update(statementId, updateObject);		} catch (Exception e) {			throw new DAOException((new StringBuilder(					"根据参数对象更新数据失败,参数列表(statementId:")).append(statementId)					.append(" updateObject:").append(updateObject).append(")")					.toString(), e);		}	}	public void update(String statementId, BaseVO entity) {		try {			refreshUpdateTime(entity);			sqlSessionTemplate.update(statementId, entity);		} catch (Exception e) {			throw new DAOException((new StringBuilder(					"根据参数对象更新数据失败,参数列表(statementId:")).append(statementId)					.append(" entity:").append(entity).append(")").toString(),					e);		}	}	public void update(final String statementId, final Collection entities) {		try {			sqlSessionTemplate.execute(new SqlSessionCallback() {				final MyBatisDAO this$0;				private final Collection val$entities;				private final String val$statementId;				public Collection doInSqlSession(SqlSession sqlSession)						throws SQLException {					BaseVO t;					for (Iterator iterator = entities.iterator(); iterator							.hasNext(); sqlSession.update(statementId, t))						t = (BaseVO) iterator.next();					return entities;				}				public volatile Object doInSqlSession(SqlSession sqlsession)						throws SQLException {					return doInSqlSession(sqlsession);				}				{					this$0 = MyBatisDAO.this;					entities = collection;					statementId = s;					super();				}			});		} catch (Exception e) {			throw new DAOException((new StringBuilder(					"根据参数对象批量数据失败,参数列表(statementId:")).append(statementId)					.append(" entities:").append(entities).append(")")					.toString(), e);		}	}	public Object getObject(String statementId, Object selectParamObject)	{		return sqlSessionTemplate.selectOne(statementId, selectParamObject);		Exception e;		e;		throw new DAOException((new StringBuilder("根据参数对象读取数据失败,参数列表(statementId:")).append(statementId).append(" selectParamObject:").append(selectParamObject).append(")").toString(), e);	}	public List queryList(String statementId, Object queryParamObject)	{		return sqlSessionTemplate.selectList(statementId, queryParamObject);		Exception e;		e;		throw new DAOException((new StringBuilder("查询全部数据失败,参数列表(statementId:")).append(statementId).append(" queryParamObject:").append(queryParamObject).append(")").toString(), e);	}	public List queryList(String statementId, Object queryParamObject, int pageNo, int pageSize)	{		RowBounds objRowBounds;		int iOffset = (pageNo - 1) * pageSize;		objRowBounds = new RowBounds(iOffset, pageSize);		return sqlSessionTemplate.selectList(statementId, queryParamObject, objRowBounds);		Exception e;		e;		throw new DAOException((new StringBuilder("分页查询全部数据失败,参数列表(statementId:")).append(statementId).append(" queryParamObject:").append(queryParamObject).append(" pageNo:").append(pageNo).append(" pageSize:").append(pageSize).append(")").toString(), e);	}}


BaseDAO:

// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.// Jad home page: http://kpdus.tripod.com/jad.html// Decompiler options: packimports(3) fieldsfirst ansi space // Source File Name:   BaseDAO.javaimport java.sql.Timestamp;public abstract class BaseDAO {	protected static final int OPERATE_BATCH_SIZE = 1000;	protected static final int STRINGBUFFER_SIZE = 200;	protected static final int INIT_PAGE_NO = 1;	public BaseDAO() {	}	public void refreshUpdateTime(BaseVO baseVO) {		baseVO.setUpdateTime(new Timestamp(System.currentTimeMillis()));	}}


BaseVO :

import java.io.Serializable;import java.lang.reflect.Field;import java.sql.Timestamp;import javax.persistence.Column;import org.apache.commons.lang.builder.*;public class BaseVO implements Serializable {	protected String _id;	protected String actionType;	protected String idList[];	protected int pageNo;	protected int pageSize;	protected String sortFieldName;	protected String sortType;	protected int optimisticLockVersion;	protected Timestamp updateTime;	public BaseVO() {		pageNo = 1;		pageSize = 20;	}	public String get_id() {		return _id;	}	public String getActionType() {		return actionType;	}	public String[] getIdList() {		return idList;	}	public int getOptimisticLockVersion() {		return optimisticLockVersion;	}	public int getPageNo() {		return pageNo;	}	public int getPageSize() {		return pageSize;	}	public String getSortFieldName() {		if (sortFieldName == null)			return null;		Field objField = ClassUtil.getFieldByName(getClass(), sortFieldName);		if (objField == null)			return null;		if (objField.isAnnotationPresent(javax / persistence / Column)) {			Column objColumn = (Column) objField.getAnnotation(javax					/ persistence / Column);			return objColumn.name();		} else {			return objField.getName();		}	}	public String getSortType() {		return sortType;	}	public Timestamp getUpdateTime() {		return updateTime;	}	public void set_id(String id) {		_id = id;	}	public void setActionType(String actionType) {		this.actionType = actionType;	}	public void setIdList(String idList[]) {		this.idList = idList;	}	public void setOptimisticLockVersion(int optimisticLockVersion) {		this.optimisticLockVersion = optimisticLockVersion;	}	public void setPageNo(int pageNo) {		this.pageNo = pageNo;	}	public void setPageSize(int pageSize) {		this.pageSize = pageSize;	}	public void setSortFieldName(String sortFieldName) {		this.sortFieldName = sortFieldName;	}	public void setSortType(String sortType) {		this.sortType = sortType;	}	public void setUpdateTime(Timestamp updateTime) {		this.updateTime = updateTime;	}	public boolean equals(Object objValue) {		boolean bEqual = super.equals(objValue);		if (super.equals(objValue))			bEqual = true;		else			bEqual = EqualsBuilder.reflectionEquals(this, objValue);		return bEqual;	}	public int hashCode() {		return HashCodeBuilder.reflectionHashCode(this);	}	public String toString() {		return ReflectionToStringBuilder.toString(this,				ToStringStyle.MULTI_LINE_STYLE);	}}
  相关解决方案