jpa查找数据库最新一条消息

主要字段说明:

pid:指导记录主键
user_pid:用户主键
competition_project_pid:用户作品

Mysql表

Repository

/**
 * 指导记录
 * @date 2020/3/24 9:26
 */
@Repository
public interface CompetitionProjectGuideRepository extends JpaRepository<CompetitionProjectGuide, String> {

    Optional<CompetitionProjectGuide> findFirstByCompetitionProjectPidOrderByUpdateAtDesc(Long pid);

}

Service

    public Optional<CompetitionProjectGuide> findFirstByCompetitionProjectPidOrderByUpdateAtDesc(Long pid) {
        return repository.findFirstByCompetitionProjectPidOrderByUpdateAtDesc(pid);
    }

Controller

    @RequestMapping(method = {RequestMethod.GET}, value = "/task/project/guide")
    public ResponseEntity getGuide(Long pid) {
        Optional<CompetitionProjectGuide> guide = competitionProjectGuideService.findFirstByCompetitionProjectPidOrderByUpdateAtDesc(pid);
        guide.orElseThrow(() -> new BusinessException(
                HttpStatus.BAD_REQUEST, Translator.toLocale("guide.NotExists.message")));
        return ResponseEntity.ok(guide);
    }

postman测试

控制台

总结

可以通过findFirst或者findTop来获取

原文地址:https://www.cnblogs.com/mzdljgz/p/12567514.html

时间: 2024-10-31 01:13:15

jpa查找数据库最新一条消息的相关文章

数据库中多条重复名字去重

2015-12-14 在做一个textbox下拉框时,需要显示数据库中存储的消息的种类.但是由于同一条消息是不断的在插入,所以造成了取消息名字不好取. 比如A方案有B和C两条消息,而且两条消息都是一直在插入,只是插入时间不一样,那么有两种方式: 一:只取出B和C消息的名字.可以用select distinct name from 表 二:不但要取出名字还要计算和之类的可以用SELECT name,sum(id) from 表 group by name; select name, id from

MSSQL分组取后每一组的最新一条记录

数据库中二张表,用户表和奖金记录表,奖金记录表中一个用户有多条信息,有一个生效时间,现在要查询: 奖金生效时间在三天前,每个用户取最新一条奖金记录,且用户末锁定 以前用的方法是直接写在C#代码中的: for(所有末锁定用户) 查询奖金记录表 top 1 where uid=??? order by 生效时间 desc if(上面查询的记录生效时间在三天前) 输出 今天花了大部分时间研究了一下,终于找到一条SQL语句就可以把结果查出来的方法: 那个row_number函数在MSSQL2008以上才

php实现只保留mysql中最新1000条记录

这篇文章主要介绍了php实现只保留mysql中最新1000条记录的方法和相关示例及数据库结构,十分的全面,有需要的小伙伴可以参考下. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <?php mysql_connect("localhost","root","root"); mysql_select_db("test"); //保留最新的1000条记录 $

php 微信开发订阅事件并回复2条消息

在通过微信公众平台验证之后,需要关注订阅公众号.如何获取订阅事件,并且在订阅之后回复消息,如果有需求要给用户一个数据库表中的信息,那我们可以保存用户openid(唯一),在这里说一下 这个openid 是每一个用户 对你公众号的一个唯一值,就算取消以后在关注也是这个值.订阅代码如下: public function responseMsg() { $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; if (!empty($postStr)){ $pos

ADO.NET之7-使用Command对象查找数据库记录---ShinePans

查询数据路里的数据数量: 代码: using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SQLTest { class Program { static void Main(string[] args) {

这条消息被许多人忽视,但对房价可能“一剑封喉”!

这条消息被许多人忽视,但对房价可能"一剑封喉"! 一点号新华社瞭望智库6小时前 这是4月6日被许多人忽视的一条消息,但对中国房地产市场将产生重大影响! 新华社4月6日播发的新闻稿称,住建部和国土部近日联合发文加强近期住房及用地供应管理和调控,要求合理安排住宅用地供应,坚决防止出现区域性总价.土地或楼面单价新高等情况,严防高价地扰乱市场预期. 住建部和国土部近日联合发布<关于加强近期住房及用地供应管理和调控有关工作的通知>,包括合理安排住宅用地供应.科学把握住房建设和上市节奏

查找数据库中重复数据T-SQL

查找数据库中重复数据T-SQL ========第一篇========= 在一张表中某个字段下面有重复记录,有很多方法,但是有一个方法,是比较高效的,如下语句: select data_guid from adam_entity_datas a where a.rowid > (select min(b.rowid) from adam_entity_datas b where b.data_guid = a.data_guid) 如果表中有大量数据,但是重复数据比较少,那么可以用下面的语句提高

Tigase开发笔记6:packet流转机制 -&gt; 一条消息(packet)的请求和响应过程解析

初看Tigase的packet内部流转机制一开始不是太明白.里面用到了较多的线程,代码不太看得懂.慢慢的通过一条消息的请求和响应的代码跟踪分析,搞清楚了消息流转的过程. 前言 本文使用Tigase Server version:7.0.2 进行的代码跟踪和分析. 使用工具:IntelliJ IDEA14.1.4 Tigase通过tigase.io包当中的代码读取网络中的字节数组,然后通过tigase.net包当中的类把字节数组转换为字符,最后通过tigase.xml包当中的XML解析器把这些字符

mybaits 如果数据库中有这条数据就修改,如果没有就新增

有的时候会接到这样的需求:如果数据库中有这条数据就修改,如果没有就修改. 在之前接到这个需求,首先思路是:先到数据查询有没有这条数据,有的话就走修改,没有的话就走新增. 之后找到了这种解决方案:贴出来分享一下 merge into table p using (select '${column}' columnfrom dual) d on  (d.column= p.column) when matched then update 语句 when not matched then insert