IBaseDao.java 2.11 KB
package com.diligrp.website.util.dao;

import org.mybatis.spring.SqlSessionTemplate;

import java.util.List;

/**
 * <B>Description</B> 所有DAO的父类,提供常用工具类方法<br />
 * <B>Copyright</B> Copyright (c) 2014 www.diligrp.com All rights reserved. <br />
 * 本软件源代码版权归地利集团,未经许可不得任意复制与传播.<br />
 * <B>Company</B> 地利集团
 * @param <T> 返回数据对象类
 * @createTime May 9, 2014 5:03:01 PM
 * @author wujianjun
 */
public interface IBaseDao<T> {

    public SqlSessionTemplate getSqlSessionTemplate();

    public void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate);

    /**
     * 添加一条数据
     * @param value 数据Bean
     * @return 是否成功
     * @createTime May 9, 2014 2:56:18 PM
     * @author wujianjun
     */
    public boolean save(T value);

    /**
     * 修改一条数据
     * @param value 数据
     * @return 是否成功
     * @createTime May 9, 2014 2:56:43 PM
     * @author wujianjun
     */
    public boolean update(T value);

    /**
     * 根据主键删除数据
     * @param id 主键
     * @return 是否成功
     * @createTime May 9, 2014 2:57:09 PM
     * @author wujianjun
     */
    public boolean deleteById(Long id);

    /**
     * 通过主键获取数据,采用selectOne实现
     * @param id 惟一ID
     * @return 数据对象
     * @createTime May 9, 2014 2:50:00 PM
     * @author wujianjun
     */
    public T getById(Long id);

    /**
     * 通过条件进行分页数据查询
     * @param conditions 条件
     * @return 数据集
     * @createTime May 9, 2014 2:57:45 PM
     * @author wujianjun
     */
    public List<T> listByCondition(BaseQuery conditions);
    
    /**
     * 查询所有满足条件的数据
     * @param conditions 条件集合
     * @return
     * @createTime Jun 26, 2014 8:02:55 PM
     * @author wujianjun
     */
    public List<T> listAllByCondition(BaseQuery conditions);

    /**
    * 通过条件进行数据查询满足条件的个数
    * @param conditions 条件
    * @return
    */
    public Integer countByCondition(BaseQuery conditions);
}