package com.dcliu.db;

import java.util.List;
import org.apache.ibatis.session.SqlSession;

public class SQLDao{

	private static final String ROW_COUNT_ = "_Row_Count";

	public SQLDao(){};
    
    private SqlSession session4Write;
    
    private SqlSession session4Read;
    
    public <T> T selectOne(String statement)
    {
        return session4Read.selectOne(statement);
    }

    public <T> T selectOne(String statement, Object param)
    {
        return session4Read.selectOne(statement, param);
    }

    public <T> List<T> select(String statement)
    {
        return session4Read.selectList(statement);
    }

    public <T> List<T> select(String statement, Object param)
    {
        return session4Read.selectList(statement, param);
    }
    
    public int insert(String statement)
    {
        return session4Write.insert(statement);
    }

    public int insert(String statement, Object param)
    {
        return session4Write.insert(statement, param);
    }

    public int update(String statement)
    {
        return session4Write.update(statement);
    }

    public int update(String statement, Object param)
    {
        return session4Write.update(statement, param);
    }

    public int delete(String statement)
    {
        return session4Write.delete(statement);
    }

    public int delete(String statement, Object param)
    {
        return session4Write.delete(statement, param);
    }

    public <T> Page<T> selectPage(String statement, PageRequest param)
    {
        Page<T> page = new Page<T>();
        Integer count = (Integer)selectOne((new StringBuilder())
        		.append(statement).append(ROW_COUNT_).toString(), param);
        if(count != null && count.intValue() > 0)
        {
            List<T> result = select(statement, param);
            page.setResult(result);
        } 
        else{
            count = Integer.valueOf(0);
        }
        page.setPage(param.getPage());
        page.setSize(param.getSize());
        page.setCount(count.intValue());
        return page;
    }

    public void setSession4Write(SqlSession session4Write)
    {
        this.session4Write = session4Write;
    }

    public void setSession4Read(SqlSession session4Read)
    {
        this.session4Read = session4Read;
    }

}
最近下载更多
stephysun  LV2 2019年8月17日
morningstar123  LV1 2019年6月11日
杨杨杨杨杨杨123  LV1 2019年6月4日
suiy2010  LV15 2018年7月23日
yangctz  LV25 2018年5月6日
tiancaisq  LV1 2018年4月27日
jic499  LV27 2018年4月17日
huhua11  LV8 2018年4月10日
ldc199375  LV10 2018年3月29日
苗毅6666  LV32 2018年3月27日
最近浏览更多
llllllK  LV5 2024年5月13日
暂无贡献等级
lujinchao1111  LV4 2023年6月25日
admin1234545545  LV3 2022年11月10日
lcbaaa  LV6 2022年8月13日
是你爸爸啊100  LV5 2022年8月5日
小星超级爱编程  LV17 2022年1月21日
szf123  LV12 2021年11月13日
wwww1984  LV14 2021年10月31日
赵小胖 2021年6月17日
暂无贡献等级
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友