文档章节

service服务分类.md

北京起航
 北京起航
发布于 2015/06/12 19:41
字数 708
阅读 34
收藏 0

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

© 著作权归作者所有

共有 人打赏支持
北京起航
粉丝 55
博文 52
码字总数 29304
作品 0
海淀
架构师
私信 提问
nagios 监控配置介绍(三)

1.主动监控模式 监控客户端LNMP 网站服务 服务器端: [root@nagios]#cd /usr/local/nagios/etc/objects [root@nagios objects]# vi commands.cfg #在最下面增加: # 'check_weburl' command......

ahtornado
2016/12/23
0
0
JAVA加密类型和算法名称

项目里有各种加密方法,但从来没有仔细研究过。一般只是copy。这几天遇到一些问题,看了一下加密代码,觉得有些疑惑。     我们知道jdk已经为我们包装好了很多的算法。但究竟包装了哪些算...

商者
2016/07/15
13
0
【微服务】网关Kong整合SpringBoot和Consul设计

前面的博客已经整理了SpringBoot整合Consul以及Kong的相关文章。这次讲讲对于这套微服务架构如何实施我的理解。 先上图,整体架构图如下: 模块说明: Client: 外部访问应用 Api-GateWay-Cl...

Tree
2018/01/11
0
3
游戏服务器骨架--gonet2

欢迎使用 gonet/2是新一代游戏服务器骨架,基于go语言开发,采用了先进的http/2作为服务器端主要通信协议,以microservice作为主要思想进行架构,采用docker作为服务发布手段。相比第一代gon...

xtaci
2015/10/15
3.2K
0
教你校验 Debian 软件包的MD5

如何对照MD5校验和校验已安装的Debian软件包 在Debian/Ubuntu系统上,你可以使用debsums工具来校验已安装软件包的MD5和。如果你想在安装之前知道关于debsums软件包的信息,可以使用APT-CACHE...

linuxprobe
2016/10/28
74
0

没有更多内容

加载失败,请刷新页面

加载更多

Windows 上安装 Scala

在安装 Scala 之前需要先安装 Java 环境,具体安装的详细方法就不在这里描述了。 您可以自行搜索我们网站中的内容获得其他网站的帮助来获得如何安装 Java 环境的方法。 接下来,我们可以从 ...

honeymose
47分钟前
0
0
数据库篇多表操作

第1章 多表操作 实际开发中,一个项目通常需要很多张表才能完成。例如:一个商城项目就需要分类表(category)、商品表(products)、订单表(orders)等多张表。且这些表的数据之间存在一定的关系...

stars永恒
今天
3
0
nginx日志自动切割

1.日志配置(Nginx 日志) access.log----记录哪些用户,哪些页面以及用户浏览器,IP等访问信息;error.log------记录服务器错误的日志 #配置日志存储路径:location / {      a...

em_aaron
昨天
5
0
java 反射

基本概念 RTTI,即Run-Time Type Identification,运行时类型识别。RTTI能在运行时就能够自动识别每个编译时已知的类型。   要想理解反射的原理,首先要了解什么是类型信息。Java让我们在运...

细节探索者
昨天
2
0
推荐转载连接

https://www.cnblogs.com/ysocean/p/7409779.html#_label0

小橙子的曼曼
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部