package cn.learn.haoke.dubbo.server.api;import cn.learn.haoke.dubbo.server.pojo.HouseResources;
import cn.learn.haoke.dubbo.server.vo.PageInfo;public interface ApiHouseResourcesService {/*** 新增房源** @param houseResources* @return -1:输入的参数不符合要求,0:数据插入数据库失败,1:成功*/int saveHouseResources(HouseResources houseResources);/*** 分页查询房源列表** @param page 当前页* @param pageSize 页面大小* @param queryCondition 查询条件* @return*/PageInfo<HouseResources> queryHouseResourcesList(int page, int pageSize,HouseResources queryCondition);}
package cn.learn.haoke.dubbo.server.vo;import lombok.AllArgsConstructor;
import lombok.Data;import java.util.Collections;
import java.util.List;@Data
@AllArgsConstructor
public class PageInfo<T> implements java.io.Serializable {private static final long serialVersionUID = -2105385689859184204L;/*** 总条数*/private Integer total;/*** 当前页*/private Integer pageNum;/*** 一页显示的大小*/private Integer pageSize;/*** 数据列表*/private List<T> records = Collections.emptyList();}
package cn.learn.haoke.dubbo.server.api;import cn.learn.haoke.dubbo.server.pojo.HouseResources;
import cn.learn.haoke.dubbo.server.service.HouseResourcesService;
import cn.learn.haoke.dubbo.server.vo.PageInfo;
import com.alibaba.dubbo.config.annotation.Service;
import org.springframework.beans.factory.annotation.Autowired;@Service(version = "1.0.0")
public class ApiHouseResourcesServiceImpl implements ApiHouseResourcesService {@Autowiredprivate HouseResourcesService houseResourcesService;@Overridepublic int saveHouseResources(HouseResources houseResources) {return this.houseResourcesService.saveHouseResources(houseResources);}@Overridepublic PageInfo<HouseResources> queryHouseResourcesList(int page, int pageSize, HouseResources queryCondition) {return this.houseResourcesService.queryHouseResourcesList(page, pageSize, queryCondition);}}
package cn.learn.haoke.dubbo.server.service.impl;import cn.learn.haoke.dubbo.server.pojo.HouseResources;
import cn.learn.haoke.dubbo.server.service.HouseResourcesService;
import cn.learn.haoke.dubbo.server.vo.PageInfo;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;@Transactional
@Service
public class HouseResourcesServiceImpl extends BaseServiceImpl implements HouseResourcesService {/*** @param houseResources* @return -1:输入的参数不符合要求,0:数据插入数据库失败,1:成功*/@Overridepublic int saveHouseResources(HouseResources houseResources) {// 添加校验或者是其他的一些逻辑if (StringUtils.isBlank(houseResources.getTitle())) {// 不符合要求return -1;}return super.save(houseResources);}@Overridepublic PageInfo<HouseResources> queryHouseResourcesList(int page, int pageSize, HouseResources queryCondition) {QueryWrapper queryWrapper = new QueryWrapper();// 根据数据的更新时间做倒序排序queryWrapper.orderByDesc("updated");IPage iPage = super.queryPageList(queryWrapper, page, pageSize);return new PageInfo<HouseResources>(Long.valueOf(iPage.getTotal()).intValue(), page, pageSize, iPage.getRecords());}}
package cn.learn.haoke.dubbo.server.service.impl;import cn.learn.haoke.dubbo.server.pojo.BasePojo;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;import java.util.Date;
import java.util.List;public abstract class BaseServiceImpl<T extends BasePojo> {@Autowiredprivate BaseMapper<T> mapper;/*** 根据id查询数据** @param id* @return*/public T queryById(Long id) {return this.mapper.selectById(id);}/*** 查询所有数据** @return*/public List<T> queryAll() {return this.mapper.selectList(null);}/*** 根据条件查询一条数据** @param record* @return*/public T queryOne(T record) {return this.mapper.selectOne(new QueryWrapper<>(record));}/*** 根据条件查询数据列表** @param record* @return*/public List<T> queryListByWhere(T record) {return this.mapper.selectList(new QueryWrapper<>(record));}/*** 根据条件分页查询数据列表** @param record* @param page* @param rows* @return*/public IPage<T> queryPageListByWhere(T record, Integer page, Integer rows) {// 获取分页数据return this.mapper.selectPage(new Page<T>(page, rows), new QueryWrapper<>(record));}/*** 根据条件分页查询数据列表** @param queryWrapper* @param page* @param rows* @return*/public IPage<T> queryPageList(QueryWrapper<T> queryWrapper, Integer page,Integer rows) {// 获取分页数据return this.mapper.selectPage(new Page<T>(page, rows), queryWrapper);}/*** 保存数据** @param record* @return*/public Integer save(T record) {record.setCreated(new Date());record.setUpdated(record.getCreated());return this.mapper.insert(record);}/*** 更新数据** @param record* @return*/public Integer update(T record) {record.setUpdated(new Date());return this.mapper.updateById(record);}/*** 根据id删除数据** @param id* @return*/public Integer deleteById(Long id) {return this.mapper.deleteById(id);}/*** 根据ids批量删除数据** @param ids* @return*/public Integer deleteByIds(List<Long> ids) {return this.mapper.deleteBatchIds(ids);}/*** 根据条件删除数据** @param record* @return*/public Integer deleteByWhere(T record) {return this.mapper.delete(new QueryWrapper<>(record));}}
package cn.learn.haoke.dubbo.server.service;import cn.learn.haoke.dubbo.server.pojo.HouseResources;
import cn.learn.haoke.dubbo.server.vo.PageInfo;public interface HouseResourcesService {/*** @param houseResources** @return -1:输入的参数不符合要求,0:数据插入数据库失败,1:成功*/int saveHouseResources(HouseResources houseResources);PageInfo<HouseResources> queryHouseResourcesList(int page, int pageSize, HouseResources queryCondition);
}

实现房源列表的Dubbo服务的开发相关推荐

  1. 实现根据id查询房源数据的dubbo服务

    package cn.learn.haoke.dubbo.server.api;import cn.learn.haoke.dubbo.server.pojo.HouseResources; impo ...

  2. Vert.x集成dubbo服务

    vert.x笔记:5.vert.x集成dubbo服务 原文及更多文章请见个人博客:http://heartlifes.com vert.x 基础介绍: dubbo是阿里巴巴内部的rpc远程调用框架,和 ...

  3. 基于Spring开发的DUBBO服务接口测试

    基于Spring开发的DUBBO服务接口测试 知识共享主要内容: 1. Dubbo相关概念和架构,以及dubbo服务程序开发步骤. 2. 基于Spring开发框架的dubbo服务接口测试相关配置. 3 ...

  4. 【ReactJs+springBoot项目——租房】第3章:OSS存储图片+本地存储+ 房源列表查询+GraphQL入门

    图片存储解决方案的分析 阿里云OSS存储方案的实现 本地存储方案的实现 整合前端系统实现图片上传功能 实 现 房 源 列 表 查 询 功 能 GraphQL的入门 1.图片存储解决方案 在新增房源中, ...

  5. dubbo服务调试管理实用命令

    ​公司如果分项目组开发的,各个项目组调用各项目组的接口,有时候需要在联调环境调试对方的接口,可以直接telnet到dubbo的服务通过命令查看已经布的接口和方法,并能直接invoke具体的方法,我们可 ...

  6. 3分钟了解dubbo服务调试管理实用命令

    公司如果分项目组开发的,各个项目组调用各项目组的接口,有时候需要在联调环境调试对方的接口,可以直接telnet到dubbo的服务通过命令查看已经布的接口和方法,并能直接invoke具体的方法,我们可以 ...

  7. dubbo 服务压测_Dubbo高性能网关--Flurry介绍

    1.背景 什么是API网关,它的作用是什么,产生的背景是啥? 从架构的角度来看,API网关暴露http接口服务,其本身不涉及业务逻辑,只负责包括请求路由.负载均衡.权限验证.流量控制.缓存等等功能.其 ...

  8. Swagger 自动生成 Dubbo 服务的接口文档,以及测试调用

    点击上方"芋道源码",选择"设为星标" 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 8:55 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | J ...

  9. 每日一技|巧用 Telnet 调试 Dubbo 服务

    来自:程序通事 0x00. 前言 想象这样一个场景,线上某个服务突发异常,导致上游服务调用异常,数据处于中间状态.服务恢复之后,我们需要修复这笔数据至正常状态,怎么办? 如果仅是简单的服务,涉及少量数 ...

最新文章

  1. 扩增子统计绘图6韦恩图:比较组间共有和特有OTU或分类单元
  2. 关于 TStringList.Assign - 回复 u9cm 的问题
  3. 包含c语言的序列化字符,Android Serializable与Parcelable原理与区别
  4. opengl加载显示3D模型SMD类型文件
  5. 印度孟买机器人餐厅_印度孟买自动化展:该国最重要、规模最大的国际自动化展...
  6. python实现抢劵_用Python实现微信自动化抢红包,再也不用担心抢不到红包了
  7. oracle authentication_services,SQLNET.AUTHENTICATION_SERVICES= (NTS) 解释
  8. linux tomcat/bin/shutdown.sh 关闭不了
  9. 使用二分查询数组中的某一个元素,简单示例,详细注解
  10. TDMA WIFI 技术
  11. mw325r 服务器无响应),新版水星(Mercury)MW325R拨不上号怎么办?【图解】
  12. 【爬虫教程】吐血整理,最详细的爬虫入门教程~
  13. 蓄电池基础知识安培小时AH和放电速率HR
  14. onsubmit表单提交简单使用
  15. sg-uap mysql_SG-UAP常用注解介绍
  16. 吴恩达:回顾2021,这些大事件影响了AI这一年
  17. 使用@JsonFormat的一个坑,遇到了同样的问题,jsonfomat注解失效
  18. 最新前端面试知识点总结-2023(3w+字,长篇幅)
  19. Day7-模拟登录丁香园,爬取所有用户基本信息和回复内容
  20. python调用海康相机进行Apriltag检测

热门文章

  1. ES6重点--笔记(转)
  2. 关于Increased rates of convergence through learning rate adaptation一文的理解
  3. JAVA第一个GUI程序---计算器
  4. 网络摄像头3 cmos ov9650,plugins/input_s3c2410/
  5. php+MySql注入非暴力爆字段名
  6. ADO的几种数据库连接方式
  7. (八)webStorage使用实例——利用storage事件实时监视webStorage中的数据
  8. WPF性能调试系列 – 内存监测
  9. vue.js的使用总结
  10. C语言链表的来源分析