service服务分类.md

itone.service服务分类.md

服务分类

1. IService任意服务
2. IBaseService 数据库服务
BaseService 封装了 常用的 增删改查 操作
3. IRunningService 后台长时间运行的服务
如:数据接收服务
public interface IDataReceiver extends IRunningService 

IBaseService ,执行sql语句

    /**
     * 执行sql脚本文件
     *
     * @param sqlScript 文本内容
     * @return String 错误信息
     */
    String runSqlScript(final String sqlScript);

IBaseService 提供的方法

package com.its.core.service;
 
import com.its.core.db.Db;
import com.its.core.service.cache.PojoCache;
import com.its.core.service.pojo.BasePojo;
import com.its.core.service.pojo.Page;
import com.its.core.service.pojo.PageQueryParam;
import com.its.core.service.pojo.QueryParam;
 
import java.io.File;
import java.util.List;
import java.util.Map;
 
/**
* 数据服务接口
*
* @param <T> bean类型
* @param <K> ID类型<br>
* @author panhongliang
*/
@SuppressWarnings("rawtypes")
public interface IBaseService<T extends BasePojo, K> extends IService {
 
    /**
     * 服务id
     *
     * @return String
     */
    String getServiceId();
 
    /**
     * setDb.
     *
     * @param db Db
     */
    void setDb(Db db);
 
    /**
     * 按ID删除记录
     *
     * @param id 记录ID
     * @return 删除数目
     */
    int deleteById(K id);
 
    /**
     * 批量删除多条记录
     *
     * @param ids 记录ID列表
     * @return 删除数目
     */
    int deleteByIds(List<K> ids);
 
    /**
     * 根据参数批量删除对象
     *
     * @return String
     */
    int deleteByQuery(QueryParam<T> param);
 
    /**
     * 根据pojo属性批量删除对象
     *
     * @return String
     */
    int deleteByPojo(T pojo);
 
    /**
     * 获取所有记录
     *
     * @return 所有记录
     */
    List<T> getAll();
 
    /**
     * 按ID获取单行记录
     *
     * @param id 记录ID
     * @return 记录
     */
    T getById(K id);
 
    /**
     * 按ID获取单行记录
     *
     * @param id 记录ID
     * @return 记录
     */
    T getByIdFromCache(K id);
 
    /**
     * 按ID获取多条记录
     *
     * @param ids 记录ID类别
     * @return 记录列表
     */
    List<T> getByIds(List<K> ids);
 
    /**
     * 根据查询参数获取多条记录
     *
     * @param queryParam 对象pojo或扩展
     * @return 记录列表
     */
    List<T> getByQuery(QueryParam<T> queryParam);
 
    /**
     * 分页查询.
     *
     * @return List<T>
     */
    Page<T> getByPage(PageQueryParam<T> pageQueryParam);
 
    /**
     * 根据对象本身信息,进行过滤
     *
     * @return List<T>记录列表
     */
    List<T> getByPojo(T pojo);
 
    /**
     * 更新单条记录
     *
     * @param row 记录(ID中必须有值)
     * @return 修改数目
     */
    int modify(T row);
 
    /**
     * 选择性保存<br> 只保存非空字段
     *
     * @return 修改数目
     */
    int modifySelective(T row);
 
    /**
     * 批量选择性保存<br> 只保存非空字段
     *
     * @return 修改数目
     */
    int modifyBatchSelective(List<T> rows);
 
    /**
     * 保存一条记录
     *
     * @param row 记录
     * @return 修改数目
     */
    int save(T row);
 
    /**
     * 选择性保存<br> 只保存非空字段
     *
     * @param row 记录
     * @return 修改数目
     */
    int saveSelective(T row);
 
    /**
     * 批量保存对象
     *
     * @param rows 对象列表
     * @return 修改数目
     */
    int saveBatch(List<T> rows);
 
    /**
     * 批量保存对象 可以分批次保存 如 1000条数据,分10次保存,每次保存100条
     *
     * @param rows      对象列表
     * @param batchSize 每批保存的条数
     * @return 修改数目
     */
    public int saveBatch(final List<T> rows, int batchSize);
 
    /**
     * 执行sql脚本文件
     *
     * @param sqlScriptFile File
     * @return String 错误信息
     */
    String runSqlFile(final File sqlScriptFile);
 
    List<Map<String, Object>> runSqlReturnMapList(String sql);
 
    /**
     * 执行sql脚本文件
     *
     * @param sqlScript 文本内容
     * @return String 错误信息
     */
    String runSqlScript(final String sqlScript);
 
    /**
     * 获取缓存对象 getCache.
     *
     * @return String
     */
    PojoCache<T, K> getCache();
 
    Boolean isExistNameByTableName(String tableName, String id, String code);
 
    Boolean isExistNameByClass(String prefix, Class clazz, String id, String name);
 
    Boolean isExistCodeByTableName(String tableName, String id, String code);
 
    Boolean isExistCodeByClass(String prefix, Class clazz, String id, String code);
 
    int getNextIdByClass(String prefix, Class clazz);
 
    int getNextIdByTableName(String tableName);
}

转载于:https://my.oschina.net/itnms/blog/466197

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值