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);
}