service服务分类.md
service服务分类.md
北京起航 发表于3年前
service服务分类.md
  • 发表于 3年前
  • 阅读 30
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 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);
}
共有 人打赏支持
粉丝 52
博文 51
码字总数 29304
×
北京起航
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: