91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Jspxcms支持多數據源嗎

發布時間:2022-01-19 15:41:00 來源:億速云 閱讀:120 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“Jspxcms支持多數據源嗎”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Jspxcms支持多數據源嗎”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

首先要確定多數據源是指什么。

如果多數據源是指系統中的表分別放到不同數據庫里(比如,欄目表cms_node放到A數據庫,文章表cms_info放到B數據庫),這種情況是不支持的。

如果是系統中的表放到一個數據庫里,但還希望通過二次開發從其它數據庫里讀取一些數據,這種情況是可以的。

Jspxcms系統中使用的框架是spring-boot、spring-data-jpa。本質上說,是否支持多數據源只和這些框架有關,和系統本身無關。spring-boot官方文檔里有介紹多個數據源的配置方法 https://docs.spring.io/spring-boot/docs/1.5.20.RELEASE/reference/htmlsingle/#howto-two-datasources ,網上也有大量的教程。

修改數據庫連接配置

配置文件src/main/resources/application.properties。

將默認數據庫配置的spring.datasource前綴改為app.datasource.first,另外再創建第二個數據源app.datasource.second。

#spring.datasource.url=jdbc:mysql://localhost/jspxcms?characterEncoding=utf8
#spring.datasource.username=root
#spring.datasource.password=password
#spring.datasource.driver-class-name=com.mysql.jdbc.Driver

app.datasource.first.url=jdbc:mysql://localhost/jspxcms?characterEncoding=utf8
app.datasource.first.username=root
app.datasource.first.password=password
app.datasource.first.driver-class-name=com.mysql.jdbc.Driver

app.datasource.second.url=jdbc:mysql://localhost/second_database?characterEncoding=utf8
app.datasource.second.username=root
app.datasource.second.password=password
app.datasource.second.driver-class-name=com.mysql.jdbc.Driver

增加數據源配置代碼

在Java配置文件中增加數據源配置代碼com.jspxcms.core.Application。第二個數據源使用JdbcTemplate訪問數據。

    @Bean
    @Primary
    @ConfigurationProperties("app.datasource.first")
    public DataSourceProperties dataSourceProperties() {
        return new DataSourceProperties();
    }

    @Bean
    @Primary
    @ConfigurationProperties("app.datasource.first")
    public DataSource dataSource() {
        return dataSourceProperties().initializeDataSourceBuilder().build();
    }

    @Bean
    @ConfigurationProperties("app.datasource.second")
    public DataSourceProperties secondDataSourceProperties() {
        return new DataSourceProperties();
    }

    @Bean
    @ConfigurationProperties("app.datasource.second")
    public DataSource secondDataSource() {
        return secondDataSourceProperties().initializeDataSourceBuilder().build();
    }

    @Bean
    public JdbcTemplate jdbcTemplate() {
        return new JdbcTemplate(secondDataSource());
    }

使用范例

至此多個數據源配置完成。使用范例如下:

@Controller
public class MyController {
    @GetMapping("/second_data_source")
    public String index(HttpServletRequest request, org.springframework.ui.Model modelMap) {
        List<Map<String, Object>> data = jdbcTemplate.queryForList("select * from my_table");
        for (Map<String, Object> d : data) {
            System.out.println(d.get("my_field"));
        }
    }

    @Autowired
    private JdbcTemplate jdbcTemplate;
}

讀到這里,這篇“Jspxcms支持多數據源嗎”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

岳西县| 陈巴尔虎旗| 林周县| 泉州市| 湘乡市| 金堂县| 石城县| 吴桥县| 澎湖县| 河池市| 汝阳县| 南开区| 江油市| 静安区| 内江市| 涿州市| 洞头县| 潼南县| 安宁市| 碌曲县| 五台县| 额尔古纳市| 白河县| 海淀区| 沧源| 睢宁县| 惠东县| 台山市| 合江县| 新蔡县| 潍坊市| 嘉定区| 鄂温| 株洲市| 海安县| 敖汉旗| 盐边县| 盖州市| 安多县| 诏安县| 嘉黎县|