All Downloads are FREE. Search and download functionalities are using the official Maven repository.

link.jfire.sql.function.DAOBean Maven / Gradle / Ivy

package link.jfire.sql.function;

import java.sql.Connection;
import java.util.List;

public interface DAOBean
{
    /**
     * 将对象信息保存到数据库中。如果对象id值为null,进行插入操作,否则进行更新操作
     * 
     * @param 
     * 
     * @param entity
     * @param connection
     * @return
     */
    public  void save(T entity, Connection connection);
    
    /**
     * 批量将一个list中的数据保存到数据库中
     * 
     * @param 
     * 
     * @param entitys
     * @param connection
     */
    public  void batchInsert(List entitys, Connection connection);
    
    /**
     * 将一个对象以插入数据的形式保存到数据库
     * 
     * @param 
     * 
     * @param entity
     * @param connection
     */
    public  void insert(T entity, Connection connection);
    
    /**
     * 将对象entity所代表的数据库行删除.
     * entity其他参数并不重要,只要id参数有存在即可.删除是根据id参数进行删除的
     * 
     * @param pk
     * @param connection
     * @return
     */
    public boolean delete(Object entity, Connection connection);
    
    /**
     * 在数据库该表中,使用主键查询并且返回对象
     * 
     * @param 
     * 
     * @param pk
     * @param connection
     * @return
     */
    public  T getById(Object pk, Connection connection);
    
    /**
     * 在数据表该表中,使用主键查询并且返回对象,但是使用某一个锁定模式
     * 
     * @param pk
     * @param connection
     * @param mode
     * @return
     */
    public  T getById(Object pk, Connection connection, LockMode mode);
    
    /**
     * 根据主键进行查询对应的字段并且组装成对象返回
     * 
     * @param pk
     * @param connection
     * @param fieldNames
     * @return
     */
    public  T getById(Object pk, Connection connection, String fieldNames);
    
    /**
     * 根据条件字段使用entity中的属性作为查询条件进行查询,查询的字段由refieldFieldNames描述。返回对应的数据集合
     * 
     * @param 
     * @param entity
     * @param connection
     * @param paramFieldNames 作为条件的属性名称,以逗号区隔
     * @param resultFieldNames 作为结果的属性名称,以逗号区隔
     * @return
     */
    public  List getList(T entity, Connection connection, String paramFieldNames, String resultFieldNames);
    
    /**
     * 以主键作为条件更新,更新的字段由属性名称fieldNames确定
     * 
     * @param entity
     * @param connection
     * @param fieldNames
     */
    public  int update(T entity, Connection connection, String fieldNames);
    
    /**
     * 根据条件,将对象中部分属性更新到数据库
     * 
     * @param entity 对象实例
     * @param connection 数据库连接
     * @param updateFields 需要更新到数据库的属性
     * @param paramFields 作为查询条件的属性
     * @return
     */
    public  int update(T entity, Connection connection, String updateFields, String paramFields);
    
    /**
     * 通过id字符串(内容格式为1,2,3,4)对数据行进行批量删除
     * 
     * @param entityClass
     * @param ids
     * @return
     */
    public int deleteByIds(String ids, Connection connection);
    
    /**
     * 通过id数组,对数据行进行批量删除
     * 
     * @param entityClass
     * @param ids
     * @return
     */
    public int deleteByIds(int[] ids, Connection connection);
    
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy