package org.hsweb.web.service;
import org.hsweb.ezorm.core.dsl.Update;
import org.hsweb.web.bean.common.UpdateParam;
import org.hsweb.web.bean.po.GenericPo;
import org.hsweb.web.dao.GenericMapper;
import org.hsweb.web.dao.UpdateMapper;
import java.util.HashMap;
import java.util.List;
public interface UpdateService<Po> {
/**
* 修改记录信息
*
* @param data 要修改的对象
* @return 影响记录数
*/
int update(Po data);
/**
* 批量修改记录
*
* @param data 要修改的记录集合
* @return 影响记录数
*/
int update(List<Po> data);
/**
* 保存或修改
*
* @param po 要修改的数据
* @return
*/
int saveOrUpdate(Po po);
/**
* 指定一个dao映射接口,接口需继承{@link GenericMapper}创建dsl数据更新操作对象<br>
* 可通过返回的Update对象进行dsl方式操作如:<br>
* <code>
* createUpdate(userMapper).where("id",1).exec();
* </code>
*
* @param mapper dao映射接口
* @param <PO> PO泛型
* @return {@link Update}
* @see Update
* @see org.hsweb.ezorm.core.Conditional
* @see UpdateParam
* @since 2.2
*/
static <PO> Update<PO, UpdateParam<PO>> createUpdate(UpdateMapper<PO> mapper) {
return Update.build(mapper::update, new UpdateParam(new HashMap<>()));
}
}