第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 JdbcTemplate 與 CrudRepository 混合是否有意義?

將 JdbcTemplate 與 CrudRepository 混合是否有意義?

森林海 2022-10-20 17:22:12
我非常熟悉JdbcTemplateSpring 的對象(以及一般的 spring-jdbc),我真的很喜歡編寫 SQL 并自己處理對象映射。不過最近我在玩這個CrudRepository界面,我真的很喜歡它。也就是說,當(dāng)涉及到復(fù)雜查詢(連接等)時,我仍然喜歡編寫自己的 SQL 查詢。我希望能夠CrudRepository在也有JdbcTemplate實例的類中使用這些方法,這樣我就可以擁有開箱即用的方法,CrudRepository同時能夠編寫自己的復(fù)雜 SQL 并將它們與JdbcTemplate.當(dāng)然,問題是這CrudRepository只是一個接口,而JdbcTemplate它是一個普通類。所以問題是我提到的任何內(nèi)容實際上都有意義嗎?假設(shè)對 (1) 的回答是肯定的,我如何才能擁有一個具有 a 實例的類,該類JdbcTemplate還提供了一個實現(xiàn),CrudRepository而不必過多地破解它?
查看完整描述

2 回答

?
喵喔喔

TA貢獻1735條經(jīng)驗 獲得超5個贊

在任何應(yīng)用程序中混合 JPA 和 JDBC 是非??赡艿????a >JdbcTemplate用于編寫復(fù)雜的查詢或進行更復(fù)雜的自定義映射。另一種選擇是使用 a RowCallbackHandler(而不是RowMapper直接將某些內(nèi)容流式傳輸?shù)轿募蚱渌Y源,以保留內(nèi)存)。

使用 Spring Data 時,您可以使用@Query注釋在存儲庫中編寫自定義查詢。這可以是本機查詢或 JPQL。

但是,Spring 中沒有任何東西可以阻止您在一個類中同時使用它們。您可以直接將您的存儲庫注入服務(wù)以及JdbcTemplate(或者如果您愿意,您可以將其放在另一個外觀后面)。

@Service

@Transactional

public class YourService {


    private final YourCrudRepository repo;

    private final JdbcTemplate jdbc;


    public YourService(YourCrudRepository repo, JdbcTemplate jdbc) {

        this.repo=repo;

        this.jdbc=jdbc;

    }


    // Your methods go down here

}

現(xiàn)在您可以同時使用兩者。Spring 的好處在于,無論使用CrudRepository或 ,JdbcTemplate它都會拋出相同的異常,DataAccessException. 如果它們在同DataSource一個上運行,JpaTransactionManager則足以管理連接和事務(wù)。


查看完整回答
反對 回復(fù) 2022-10-20
?
慕無忌1623718

TA貢獻1744條經(jīng)驗 獲得超4個贊

為什么不把他們當(dāng)成會員呢?


public class MyDao {

    private JdbcTemplate template;

    private CrudRepository repository;

}

當(dāng)然,您需要通過所有方法,這對嘈雜很友好。Dao將是刻板印象數(shù)據(jù)訪問對象。


查看完整回答
反對 回復(fù) 2022-10-20
  • 2 回答
  • 0 關(guān)注
  • 127 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號