Java tutorial
/** * Copyright (c) 2012-2014 http://www.eryansky.com * * Licensed under the Apache License, Version 2.0 (the "License"); */ package com.eryansky.common.orm.mybatis; import java.io.Serializable; import java.util.List; import org.apache.ibatis.session.RowBounds; import org.mybatis.spring.support.SqlSessionDaoSupport; import com.eryansky.common.orm.Page; /** * MyBatisDao. * * @author &Eryan eryanwcp@gmail.com * @date 2012-7-28 ?7:38:46 */ public class MyBatisSuportDao extends SqlSessionDaoSupport { /** * ? * * @param key * @param object * * @date 2012-7-28 ?7:38:53 */ public void save(String key, Object object) { getSqlSession().insert(key, object); } /** * * * @param key * @param id * id * @date 2012-7-28 ?7:39:26 */ public void delete(String key, Serializable id) { getSqlSession().delete(key, id); } /** * * * @param key * @param object * * @date 2012-7-28 ?7:39:46 */ public void delete(String key, Object object) { getSqlSession().delete(key, object); } /** * ? * * @param key * @param params * ? * @return * @date 2012-7-28 ?7:40:08 */ @SuppressWarnings("unchecked") public <T> T get(String key, Object params) { return (T) getSqlSession().selectOne(key, params); } /** * ? ?? * * @param key * @return * @date 2012-7-28 ?7:41:01 */ public <T> List<T> getList(String key) { return getSqlSession().selectList(key); } /** * ? ??? * * @param key * @param params * ? * @return * @date 2012-7-28 ?7:43:02 */ public <T> List<T> getList(String key, Object params) { return getSqlSession().selectList(key, params); } /** * ? * * @param key * @param offset * ??? * @param limit * ?? * @param params * ? (Map<String,Object>) * @return List<T> * @date 2012-7-29 ?1:35:32 */ public <T> List<T> getList(String key, int offset, int limit, Object params) { return getSqlSession().selectList(key, params, new RowBounds(offset, limit)); } /** * ? * * @param key * @param page * @param params * ? (Map<String,Object>) * @return Page<T> * @date 2012-7-29 ?3:50:26 */ public <T> Page<T> getPage(String key, Page<T> page, Object params) { int offset = Page.countOffset(page.getPageSize(), page.getPageNo()); List<T> list = getList(key, params); if (!list.isEmpty() && list.size() > 0) { page.setTotalCount(list.size()); } page.setTotalPage(Page.countTotalPage(page.getPageSize(), page.getTotalCount())); List<T> result = getSqlSession().selectList(key, params, new RowBounds(offset, page.getPageSize())); page.setResult(result); return page; } }