Spring Data

Mongodb聚合查询:通过文章的阅读量,评论量,点赞量等计算出一个热度值用于排序

落花浮王杯 提交于 2019-11-29 19:08:44
spring data es实现方式: TypedAggregation<Album> agg = Aggregation.newAggregation( Album.class, Aggregation.project("id","albumName","coverImgId").and("countRead").plus("countComment").plus("countLike").as("polular"), Aggregation.sort(Sort.Direction.DESC,"popular"), Aggregation.skip (page), Aggregation.limit(pageSize)); AggregationResults<PoplularAlbumDto> results=mongoTemplate.aggregate(agg, PoplularAlbumDto.class); 解析:.project()里可指定要查询的字段,还可以使用一些字段的加减乘除运算出一个新的字段,上面的是“countRead”,"countComment","countLIke"这几个字段的和作为一个新的字段“polular”,并按popular降序排序,skip代表页码,limit代表分页大小; 来源: https://my.oschina.net/u

JPA、Hibernate、Mybatis的区别

。_饼干妹妹 提交于 2019-11-29 12:48:50
1.概念: Hibernate :Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。着力点对象与对象之间关系 2.简介: Mybatis:MyBatis 本是 apache 的一个开源项目 iBatis , 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。Mybatis:着力于POJO与SQL之间的映射关系 Spring Data:Spring Data:是一个用于简化数据库访问,并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持map-reduce框架和云计算数据服务。 3.开发的难度: Hibernate的开发难度要大于Mybatis、Spring Data。主要是由于Hibernate封装了完整的对象关系映射机制,以至于内部的实现比较复杂、庞大,学习周期较长。 Mybatis 主要依赖于SQL的编写与ResultMap的映射。 Spring Data易上手,通过命名规范、注解查询简化查询操作。 4.查询区别: 简单查询:Hibernate 提供了基础的查询方法,也可以根据具体的业务编写相应的SQL; Mybatis需要手动编写SQL语句,Spring Data

ES-使用springData来操作es

僤鯓⒐⒋嵵緔 提交于 2019-11-28 22:48:49
1 Es 的配置文件 elasticsearch.yml http.cors.enabled: true http.cors.allow-origin: "*" network.host: 127.0.0.1 2 配置中文分词器 (见之前的博客) 3 导入jar <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.7.RELEASE</version> <relativePath/> <!-- lookup parent from repository

Spring Boot的启动器Starter详解

↘锁芯ラ 提交于 2019-11-27 17:31:20
Spring Boot的启动器Starter详解 Spring Boot应用启动器基本的一共有 44 种,具体如下: 1) spring-boot-starter 这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。 2)spring-boot-starter-actuator 帮助监控和管理应用。 3)spring-boot-starter-amqp 通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol)。 4)spring-boot-starter-aop 支持面向方面的编程即AOP,包括spring-aop和AspectJ。 5)spring-boot-starter-artemis 通过Apache Artemis支持JMS的API(Java Message Service API)。 6) spring-boot-starter-batch 支持Spring Batch,包括HSQLDB数据库。 7)spring-boot-starter-cache 支持Spring的Cache抽象。 8)spring-boot-starter-cloud-connectors 支持Spring Cloud Connectors,简化了在像Cloud Foundry或Heroku这样的云平台上连接服务。

【极简版】SpringBoot+SpringData JPA 管理系统

孤街醉人 提交于 2019-11-27 13:11:26
前言 只有光头才能变强。 文本已收录至我的GitHub仓库,欢迎Star: https://github.com/ZhongFuCheng3y/3y 在上一篇中已经讲解了如何 从零 搭建一个SpringBoot+SpringData JPA的环境,测试接口的时候也成功获取得到数据了。 带你搭一个SpringBoot+SpringData JPA的Demo 我的目的是做一个 十分简易 的管理系统,这就得有页面,下面我继续来讲讲我是怎么 快速 搭一个管理系统的。 ps:由于是简易版,我的目的是能够 快速 搭建,而不在于代码的规范性。(所以在后面你可能会看到很多丑陋的代码) 一、搭建管理系统 1.1. 搭建页面 在上一篇的最后,我们可以通过 http://localhost:8887/user 接口拿到我们User表所有的记录了。我们现在希望把记录 塞到 一个管理页面上(展示起来)。 作为一个后端,我HTML+CSS实在是丑陋,于是我就去找了一份 BootStrap 的模板。首先,我进到bootStrap的官网,找到 基本模板 这一块: 我们在里边可以看到挺多的模板的,这里选择一个 控制台 页面: 于是,就把这份 模板下载 下来,在本地中运行起来试试看。官方给出的链接是下载整一份文档,我们找到想要的页面即可: 于是我们将这两份文件 单独 粘贴在我们的项目中,发现这HTML文件需要

带你搭一个SpringBoot+SpringData JPA的环境

痞子三分冷 提交于 2019-11-27 00:14:14
前言 只有光头才能变强。 文本已收录至我的GitHub仓库,欢迎Star: https://github.com/ZhongFuCheng3y/3y 不知道大家对SpringBoot和Spring Data JPA了解多少,如果你已经学过Spring和Hibernate的话,那么SpringBoot和SpringData JPA可以分分钟上手的。SpringBoot和SpringData JPA的好处我就不说了,当时我学习的时候也 粗略 做过笔记,有兴趣的同学可以去看看 SpringBoot就是这么简单 SpringData JPA就是这么简单 其实我在学完SpringBoot和SpringData JPA了之后,写过一个小Demo,但一直没发出来而已(懒)。 而 最近要写毕业设计的一个管理模块(CRUD),并且我又没写过相关SpringBoot和SpringData JPA的 搭建 教程,所以就诞生了这篇文章了。 一、从零搭建环境 本次我使用的是 IDEA 编辑器来搭建SpringBoot和Spring Data JPA环境 首先,我们在IDEA新建项目的时候,选择Spring Initializr,然后next就行了。 然后填写一些项目的资料(其实这些资料也无关紧要,自己看着填就好了),随后点击next 随后在勾选的时候,我就 随手 勾选了个LomBok(其他的没勾选

Spring boot 中自定义JpaRepository使用

别说谁变了你拦得住时间么 提交于 2019-11-26 15:33:53
普通JpaRepository类 import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @Repository public interface EmployeeRepository extends JpaRepository<Employee,Long>{ } JpaRepository一般的筛选查询,均可以通过 findBy 的形式解决,总的很好用,但是总有一部分的业务查询是需要JpaRepository不能解决的。这个时候,就需要在此基础上面增加自定义的Repository类了。 自定义Repository类 接口类 import java.util.List; public interface EmployeeRepositoryCustom { List<Employee> getFirstNamesLike(String firstName); } 实现类 import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; import