tensquare项目:

  1. 导入相关的依赖
 <parent><artifactId>spring-boot-starter-parent</artifactId><groupId>org.springframework.boot</groupId><version>2.0.1.RELEASE</version></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties>
<!--这个不会被引入依赖进行下载的,相当于一个接口--><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Finchley.M9</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies><repositories><repository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><snapshots><enabled>true</enabled></snapshots></repository><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository></repositories><pluginRepositories><pluginRepository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><snapshots><enabled>true</enabled></snapshots></pluginRepository><pluginRepository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></pluginRepository></pluginRepositories>
  1. 可以用专业的代码生成工具生成代码
  2. 生成以后在dao层进行相关的查询操作
package com.tensquare.recruit.dao;import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;import com.tensquare.recruit.pojo.Recruit;import java.util.List;/*** 数据访问接口* @author Administrator**/
public interface RecruitDao extends JpaRepository<Recruit,String>,JpaSpecificationExecutor<Recruit>{/*查询推荐职位表,按照时间的倒序排列state 状态: 0:关闭 1:开启 2:推荐  查询前四条记录,并且按照创建的时间降序排序**/public List<Recruit> findTop4ByStateOrderByCreatetime(String state);/** 查询最新职位信息* state!=0 和按照时间的倒序排序* findTopBy12StateNotOOrderByCreatetimeDesc 这个约定的语句可以表示这个意思* */public List<Recruit> findTopBy12StateNotOrderByCreatetimeDesc(String state);}
package com.tensquare.service;import com.tensquare.dao.LabelDao;
import com.tensquare.pojo.Label;
import org.hibernate.loader.custom.Return;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import util.IdWorker;import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;@Service
public class LabelService {@Autowiredprivate LabelDao labelDao;@Autowiredprivate IdWorker idWorker;//    查询所有public List<Label> findAll(){System.out.println(labelDao.findAll());return labelDao.findAll();}//    查询单个public Label findById(String id){return labelDao.findById(id).get();}//   增加public void addLabel(Label label){label.setId(idWorker.nextId()+"");labelDao.save(label);}/*** 修改标签* @param label*/public void update(Label label){labelDao.save(label);}/*** 删除标签* @param id*/public void deleteById(String id){labelDao.deleteById(id);}//    构建条件查询public Specification<Label> createSpecification(Map searchMap){return    new Specification<Label>(){@Overridepublic Predicate toPredicate(Root<Label> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {List<Predicate> predicateList=new ArrayList<>();if(searchMap.get("labelname")!=null&&!"".equals(searchMap.get("labelname"))){predicateList.add(criteriaBuilder.like(root.get("labelname").as(String.class),"%"+searchMap.get("labelname")+"%"));}if(searchMap.get("state")!=null&&!"".equals(searchMap.get("state"))){predicateList.add(criteriaBuilder.equal(root.get("state").as(String.class),searchMap.get("state")));}if(searchMap.get("recommend")!=null&&!"".equals(searchMap.get("recommend"))){predicateList.add(criteriaBuilder.equal(root.get("recommend").as(String.class),searchMap.get("recommend")));}return criteriaBuilder.and(predicateList.toArray(new Predicate[predicateList.size()]));}};}/** 条件查询** */public List<Label> findSearch(Map searchMap){return labelDao.findAll(createSpecification(searchMap));}/*分页查询* @param 当前页* @param size 页面大小*** */
//    方法重载public Page<Label> findSearch(Map searchMap, int page, int size){Specification<Label> specification = createSpecification(searchMap);
//官方文档说需要-1PageRequest pageRequest= PageRequest.of(page-1, size);return labelDao.findAll(specification,pageRequest);}}
  1. 实现了这两个接口JpaRepository<Recruit,String>,JpaSpecificationExecutor
  2. 这个是特殊的条件的查询,需要遵循相关的规范。
  3. 可以看到相关的分页查询的封装和特殊条件查询的封装。

SprinBoot+Jpa实现1024社区系统的最新职位推荐和最热职位推荐相关推荐

  1. 计算机八代配置资料,能装win7系统的最新intel 8代cpu电脑配置推荐

    现在新出的处理器和主板都支持最新的win10系统,win7系统很多都不支持了.但有些网友习惯了用win7系统又想用新机,经常有网友问我,我intel 8代cpu想配一个能装win7的组装电脑有没有推荐 ...

  2. java毕业设计校园社区系统mybatis+源码+调试部署+系统+数据库+lw

    java毕业设计校园社区系统mybatis+源码+调试部署+系统+数据库+lw java毕业设计校园社区系统mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目架构:B/S架构 开 ...

  3. 智慧社区解决方案-全套最新

    智慧社区解决方案 - 全套最新 一.基本概念理解 二.智慧社区的建设条件 三.智慧社区的主要功能 四.智慧社区的十大系统 1.社区智能监控系统 2.社区电子巡更系统 3.社区治安监管系统 4.社区消防 ...

  4. 快鲸智慧社区系统是如何助力物业公司降本增收的?

    随着移动互联网技术的兴起,传统的物业管理行业也正在向智慧物业悄然转型.智慧物业即是使用现代互联网信息技术,在物业行政管理部门,物业服务公司.业主.商家等主体间建立高集成度的数字化管理平台,统筹整理各类 ...

  5. 【SIG月报】10月openKylin社区SIG组最新进展分享!

    为推动社区繁荣发展,打造开源操作系统创新生态,openKylin社区根据领域划分了不同的SIG组,并积极开展各种技术研究和创新.其中,10月份社区新增SIG小组5个,共有52个SIG组在运行,接下来, ...

  6. 动软分享社区系统实现个性化导购营销平台

    这年头做淘宝客,越来越不好做了,淘宝的政策一变再变,门槛高的坑爹吓人,一般的人很难拿到具有淘客数据包权限的账号.很多人开始放弃了这条路,然后,偶然间发现动软的分享社区系统似乎可以解决这个问题. 动软分 ...

  7. 开源Asp.Net Core小型社区系统

    前言 盼星星盼月亮,Asp.Net Core终于发布啦!! Asp.Net发布时我还在上初中,没有赶上.但是Asp.Net Core我从beta版本便一直关注.最初项目名叫Asp.Net VNext, ...

  8. php yii2 sns,GitHub - yggphpcoder/iisns: 基于 yii2 的 sns 社区系统,一站式解决社区建站...

    iisns - 地球村入口 iiSNS 是基于 yii2 的 SNS 社区系统,一站式解决社区建站.可以写文章,做记录,上传图片,论坛聊天等.还可以用来做内容管理系统(CMS).iiSNS 是一个免费 ...

  9. 全新玖五社区系统整站源码

    介绍: 全新玖五社区系统整站源码分享 3.源码文件一个两个文件夹 一个为shequ另一个为admin 1.两个文件夹分别搭建网站 网站域名前缀为文件夹两个名称 9.两个网站伪静态设置请看详细完整内容 ...

最新文章

  1. 关于如何用100行如何实现docker
  2. Thrust快速入门教程(一)——简介
  3. set uid,set gid,sticky bit的三个权限的详细说明
  4. python为mysql设置id自增长_postgresql如何设置id自增长
  5. JavaScript数据结构——图(Graph)
  6. oc 协议 回调 静态成员_OC中特性、静态成员(static)以及协议的基本知识
  7. java springmvc 教程pdf_最全最经典spring_mvc教程.pdf
  8. php 开发 oa 框架,基于ThinkPHP框架开发的全功能OA办公管理系统PHP源码
  9. 面试题——正则表达式
  10. 无损视频合并软件有哪些?如何合并视频
  11. 基于区块链的大数据交易模式研究与探索
  12. Matlab的基本使用方法
  13. ITN网络课程笔记(十七)(完)
  14. 分享不同,精彩纷呈 | 开发者说·DTalk 年中鉴赏
  15. 10.配置Elasticsearch
  16. 20151006的NOIP模拟赛
  17. I/O端口的简单应用
  18. 3Dsmax怎么建模弯曲的管道模型?
  19. fc安卓模拟器_支持安卓、苹果、电视、PC!这可能是最好的游戏模拟器!
  20. 银行开卡却要证明“我是我”?银行客户体验何时才能真正“线上走”?

热门文章

  1. android设备绑定微软,Android 7.1.1 手机如何登录微软账号
  2. Python3.9版本发布,不同领域的程序员如何学Python?
  3. 区块链技术在金融业KYC监管中的应用
  4. centos7使用dnsmasq搭建dns服务器
  5. Codeforces 1065 简要题解
  6. slf4j配置与解析
  7. class_addMethod的详解
  8. 二十三、从句_地点原因方式条件状语从句
  9. 面试官常问的几个问题
  10. 软驱光碟安装linux系统,无光驱和软驱安装debian的方法