最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java jpa外連接查詢(xún)join案例詳解

 更新時(shí)間:2021年09月06日 11:35:48   作者:sfidjg  
這篇文章主要介紹了Java jpa外連接查詢(xún)join案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

1、IndexTagController.java

@GetMapping("/tags/{id}")
    public String types(@PageableDefault(size = 3,sort = {"updateTime"},direction = Sort.Direction.DESC)Pageable pageable,
                        @PathVariable long id,
                        Model model,
                        HttpSession session){
        //找到所有的標(biāo)簽,并且按照標(biāo)簽新聞量排序
        List<Tag> tags = tagService.listTagTop(50);
        if(id == -1){
            //得到最大數(shù)據(jù)量的分類(lèi)
            id = tags.get(0).getId();
        }

        model.addAttribute("tags",tags);
        model.addAttribute("page",newsService.listNews(id,pageable));
        model.addAttribute("activeId",id);
        session.setAttribute("query","");
        return "tags";
    }

newService.listNews(id,pgeable)中id為標(biāo)簽的id,這個(gè)方法要做的就是查詢(xún)出標(biāo)簽中包含id為參數(shù)id的所有新聞。

2、業(yè)務(wù)層代碼

NewService.java是一個(gè)接口,其中存在以下方法

//根據(jù)標(biāo)簽Id查找符合條件的新聞
Page<News> listNews(long id,Pageable pageable);

NewServiceImpl.java為實(shí)現(xiàn)NewService接口的類(lèi),實(shí)現(xiàn)listNews方法

@Override
    public Page<News> listNews(long id, Pageable pageable) {
        return newsRepository.findAll(new Specification() {
            @Override
            public Predicate toPredicate(Root root, CriteriaQuery cq, CriteriaBuilder cb) {
                //外連接查詢(xún) Join
                Join join =root.join("tags");
                return cb.equal(join.get("id"),id);
            }
        },pageable);

    }

NewsRepository.java 繼承了JpaSpecificationExecutor

public interface NewsRepository extends JpaRepository<News,Long>, JpaSpecificationExecutor {

    @Query("select n from News n where n.recommend = true ")
    List<News> findTop(Pageable pageable);


    @Query("select n from News n where n.title like ?1 or n.content like ?1")
    Page<News> findByQuery(String query,Pageable pageable);

    @Query("select function('date_format',n.updateTime,'%Y') as year1 from News n group by year1 order by year1 desc ")
    List<String> findGroupYear();

    @Query("select n from News n where function('date_format',n.updateTime,'%Y') = ?1 ")
    List<News> findByYear(String year);

}

到此這篇關(guān)于Java jpa外連接查詢(xún)join案例詳解的文章就介紹到這了,更多相關(guān)Java jpa外連接查詢(xún)join內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java解決程序包不存在的問(wèn)題解決

    Java解決程序包不存在的問(wèn)題解決

    在Java編程中,我們可以使用Maven或Gradle等構(gòu)建工具來(lái)管理依賴(lài)庫(kù),本文主要介紹了Java解決程序包不存在的問(wèn)題解決,具有一定的參考價(jià)值,感興趣的可以了解 一下
    2023-12-12
  • Java設(shè)計(jì)模式中的單一責(zé)任原則詳解

    Java設(shè)計(jì)模式中的單一責(zé)任原則詳解

    這篇文章主要介紹了Java設(shè)計(jì)模式中的單一責(zé)任原則詳解,應(yīng)該有且僅有一個(gè)原因引起類(lèi)的變更,即單一指責(zé)原則要求一個(gè)借口或類(lèi)只有一個(gè)原因引起變化,也就是一個(gè)接口或類(lèi)只有一個(gè)職責(zé),它就負(fù)責(zé)一件事情,需要的朋友可以參考下
    2023-11-11
  • Java中Spring MVC接收表單數(shù)據(jù)的常用方法

    Java中Spring MVC接收表單數(shù)據(jù)的常用方法

    Spring MVC是Spring框架中的一個(gè)模塊,用于開(kāi)發(fā)基于MVC(Model-View-Controller)架構(gòu)的Web應(yīng)用程序,它提供了一種輕量級(jí)的、靈活的方式來(lái)構(gòu)建Web應(yīng)用,同時(shí)提供了豐富的功能和特性,本文給大家介紹了Spring MVC接收表單數(shù)據(jù)的方法,需要的朋友可以參考下
    2024-05-05
  • 淺析Java驗(yàn)證碼生成庫(kù)JCaptcha

    淺析Java驗(yàn)證碼生成庫(kù)JCaptcha

    JCaptcha 是一個(gè)用來(lái)生成驗(yàn)證碼的開(kāi)源Java類(lèi)庫(kù),使用起來(lái)也是非常的簡(jiǎn)單方便。本文通過(guò)代碼實(shí)例介紹了JCaptcha類(lèi)庫(kù)。
    2016-07-07
  • Springboot項(xiàng)目編寫(xiě)測(cè)試單元完整步驟記錄

    Springboot項(xiàng)目編寫(xiě)測(cè)試單元完整步驟記錄

    這篇文章主要介紹了如何使用JUnit編寫(xiě)Spring?Boot項(xiàng)目中的測(cè)試單元,包括引入依賴(lài)、配置文件設(shè)置、啟動(dòng)文件創(chuàng)建以及編寫(xiě)測(cè)試類(lèi)的步驟,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • Java 注解的使用實(shí)例詳解

    Java 注解的使用實(shí)例詳解

    這篇文章主要介紹了Java 注解的使用實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • Java基礎(chǔ)入門(mén)之switch怎么使用枚舉

    Java基礎(chǔ)入門(mén)之switch怎么使用枚舉

    在Java開(kāi)發(fā)中,switch語(yǔ)句是一種常用的流控制語(yǔ)句,而當(dāng)使用枚舉類(lèi)型作為條件時(shí),我們常常會(huì)遇到報(bào)錯(cuò)問(wèn)題,那么該如何解決呢,下面就來(lái)詳細(xì)講講
    2023-06-06
  • 詳解Mybatis中的CRUD

    詳解Mybatis中的CRUD

    這篇文章主要介紹了Mybatis中的CRUD的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Java字符串編碼解碼性能提升的技巧分享

    Java字符串編碼解碼性能提升的技巧分享

    這篇文章主要是和大家分享幾個(gè)Java中提升字符串編碼解碼性能的小技巧,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)有一定的幫助,需要的可以參考一下
    2022-05-05
  • SpringBoot使用freemarker導(dǎo)出word文件方法詳解

    SpringBoot使用freemarker導(dǎo)出word文件方法詳解

    這篇文章主要介紹了SpringBoot使用freemarker導(dǎo)出word文件方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-11-11

最新評(píng)論

伊吾县| 常宁市| 龙海市| 定远县| 教育| 温州市| 柳江县| 阿拉善左旗| 兴安县| 沙坪坝区| 天祝| 福安市| 雅江县| 宁城县| 福建省| 诸暨市| 颍上县| 肥西县| 武平县| 大宁县| 桐梓县| 长兴县| 扶风县| 青浦区| 巨鹿县| 黄平县| 贵溪市| 阿尔山市| 甘德县| 日喀则市| 湘乡市| 杂多县| 永泰县| 浪卡子县| 介休市| 洪湖市| 宜阳县| 当涂县| 宜章县| 巴里| 遵化市|