spring項目如何查詢數(shù)據(jù)庫 springboot怎么查看連接的是哪個數(shù)據(jù)庫?
springboot怎么查看連接的是哪個數(shù)據(jù)庫?Springboot視圖連接數(shù)據(jù)庫在數(shù)據(jù)庫中新建一個名為dbgirl的數(shù)據(jù)庫,在application.yml文件中配置數(shù)據(jù)庫和JPA。其次,創(chuàng)建一個新
springboot怎么查看連接的是哪個數(shù)據(jù)庫?
Springboot視圖連接數(shù)據(jù)庫在數(shù)據(jù)庫中新建一個名為dbgirl的數(shù)據(jù)庫,在application.yml文件中配置數(shù)據(jù)庫和JPA。
其次,創(chuàng)建一個新的女生類,有id,有名字,有年齡。并構造無參數(shù)方法和set、get方法。您必須添加@Entity、@id、@GeneratedValue注釋。(直接在dbgirl數(shù)據(jù)庫中生成女生表。然后,創(chuàng)建一個新的GirlRepostory接口,繼承JpaRepository。
最后創(chuàng)建一個新的GirlControll
spring事務開啟后 數(shù)據(jù)庫數(shù)據(jù)能被修改么?
打開spring事務后,可以修改數(shù)據(jù)庫數(shù)據(jù)。對于在一次操作中打開事務后,動態(tài)切換數(shù)據(jù)源的機制失效的問題,臨時想到了一個巧妙的方法。在Spring聲明式事務配置中,不改變數(shù)據(jù)庫數(shù)據(jù)的方法可以在不支持事務的情況下進行配置。
這意味著只要關閉spring transaction的功能,就可以修改數(shù)據(jù)庫中的數(shù)據(jù)。
將簡單查詢數(shù)據(jù)的操作設置為不支持事務,可以避免一些動態(tài)數(shù)據(jù)源切換失敗的場景。比如在shiro權限管理的開發(fā)中,所有的前臺頁面都需要通過jsp的Shiro權限控制標簽來控制頁面的一些顯示效果。此時很可能是由于業(yè)務需要,查詢顯示的數(shù)據(jù)和權限控制的數(shù)據(jù)不在同一個數(shù)據(jù)庫中,需要動態(tài)切換數(shù)據(jù)庫鏈接。頁面初始化顯示的數(shù)據(jù)對應的是查詢數(shù)據(jù)、判斷當前用戶是否有權限的操作,也對應的是查詢權限資源的操作。所以我認為可以選擇上面的事務支持來取消查詢操作,避免動態(tài)切換。
多數(shù)據(jù)源動態(tài)切換失敗的原因是事務啟動后,數(shù)據(jù)源不能再隨意切換,即一個事務對應一個數(shù)據(jù)源。
利用這一點,我們可以嘗試破壞數(shù)據(jù)源,實現(xiàn)修改。
然后傳統(tǒng)的Spring管理事務是在服務業(yè)務層操作的,所以替換數(shù)據(jù)源的操作要在這個操作之前進行。也就是說,切換數(shù)據(jù)源的操作放在了控制器層,但是這個操作會造成控制器層的代碼混亂。因此,建議的解決方案是在數(shù)據(jù)持久層(Dao層)啟動事務管理,在業(yè)務層切換數(shù)據(jù)源,使數(shù)據(jù)源在事務啟動前能夠順利切換,不會再出現(xiàn)切換失敗的情況。