iBatis的Dao类

package com.ibatis.example;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class BaseDao extends
        org.springframework.orm.ibatis.support.SqlMapClientDaoSupport
{
    public int delete(String name, Serializable id)
    {
        return getSqlMapClientTemplate().delete(name, id);
    }
   
    public <T> T get(String name, Serializable id)
    {
        return (T)getSqlMapClientTemplate().queryForObject(name, id);
    }
   
    public <T> T get(String name, Object object)
    {
        return (T)getSqlMapClientTemplate().queryForObject(name, object);
    }
   
    public <T> List<T> getList(String name)
    {
        return getSqlMapClientTemplate().queryForList(name);
    }
   
    public <T> List<T> getList(String name, Object object)
    {
        return getSqlMapClientTemplate().queryForList(name, object);
    }
   
    public void insert(String name, Object o)
    {
        getSqlMapClientTemplate().insert(name, o);
    }
   
    public int update(String name, Object o)
    {
        return getSqlMapClientTemplate().update(name, o);
    }
   
    public <T> T count(String name)
    {
        return (T)getSqlMapClientTemplate().queryForObject(name);
    }
   
    public <T> T count(String name, Object object)
    {
        return (T)getSqlMapClientTemplate().queryForObject(name, object);
    }
   
    /**   
    * sql 查询.   
    * @author yuyang  
    * @param sql 直接sql的语句(需要防止注入式攻击)   
    */
    public <T> List<T> getList(String name, String sql)
    {
        Assert.hasText(sql);
        if (StringUtils.isEmpty(sql))
            return this.getSqlMapClientTemplate().queryForList(name, null);
        else
            return this.getSqlMapClientTemplate().queryForList(name, sql);
    }
   
    /**   
    * map查询.   
    * @author yuyang  
    * @param map 包含各种属性的查询   
     */
    public <T> List<T> getList(String name, Map map)
    {
        if (map == null)
            return this.getSqlMapClientTemplate().queryForList(name, null);
        else
        {
            map.put("findBy", "True");
            return this.getSqlMapClientTemplate().queryForList(name, map);
        }
    }
   
    /**   
        * 分页查询.   
       * @param sql 直接sql的语句(需要防止注入式攻击)   
       */
    public <T> Map<String, Object> getList(String name, Page page)
    {
        List<T> list = new ArrayList<T>();
        Map<String, Object> map = new HashMap<String, Object>();
        page = PageInation.getPageALLRecorde(page);
        Map paramMap = new HashMap();
        paramMap.put("sql", page.getPageSql());
        paramMap.put("result", page.getPageResult());
        paramMap.put("firstRecord", page.getFristPage());
        paramMap.put("endRecorde", page.getEndPage());
        list = getSqlMapClientTemplate().queryForList(name, paramMap);
        map.put("list", list);
        map.put("page", page);
        return map;
    }
}

你可能感兴趣的:(ibatis)