<legend id='ENlAl'><style id='ENlAl'><dir id='ENlAl'><q id='ENlAl'></q></dir></style></legend>

        <bdo id='ENlAl'></bdo><ul id='ENlAl'></ul>
    1. <i id='ENlAl'><tr id='ENlAl'><dt id='ENlAl'><q id='ENlAl'><span id='ENlAl'><b id='ENlAl'><form id='ENlAl'><ins id='ENlAl'></ins><ul id='ENlAl'></ul><sub id='ENlAl'></sub></form><legend id='ENlAl'></legend><bdo id='ENlAl'><pre id='ENlAl'><center id='ENlAl'></center></pre></bdo></b><th id='ENlAl'></th></span></q></dt></tr></i><div id='ENlAl'><tfoot id='ENlAl'></tfoot><dl id='ENlAl'><fieldset id='ENlAl'></fieldset></dl></div>

      <tfoot id='ENlAl'></tfoot>

      <small id='ENlAl'></small><noframes id='ENlAl'>

    2. 通过 jdbc 模板使用两个数据源

      时间:2024-08-23
      • <tfoot id='4xQa1'></tfoot>
          <tbody id='4xQa1'></tbody>
          • <bdo id='4xQa1'></bdo><ul id='4xQa1'></ul>
            <i id='4xQa1'><tr id='4xQa1'><dt id='4xQa1'><q id='4xQa1'><span id='4xQa1'><b id='4xQa1'><form id='4xQa1'><ins id='4xQa1'></ins><ul id='4xQa1'></ul><sub id='4xQa1'></sub></form><legend id='4xQa1'></legend><bdo id='4xQa1'><pre id='4xQa1'><center id='4xQa1'></center></pre></bdo></b><th id='4xQa1'></th></span></q></dt></tr></i><div id='4xQa1'><tfoot id='4xQa1'></tfoot><dl id='4xQa1'><fieldset id='4xQa1'></fieldset></dl></div>

                <small id='4xQa1'></small><noframes id='4xQa1'>

                <legend id='4xQa1'><style id='4xQa1'><dir id='4xQa1'><q id='4xQa1'></q></dir></style></legend>
                本文介绍了通过 jdbc 模板使用两个数据源的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                所以,我从事过一个 Spring Boot 项目,现在我正在研究数据库.我认为最好为数据库设置两个用户:

                So, I've worked on a spring boot project and now I am working on the database. I thought that it would be best to set two users for the database:

                一个可以访问用户表以进行 login/register/information 更新,另一个可以访问其他表.

                one that has access to the user table for login/register/information update and another for accessing the other tables.

                我的想法是为两个 DataSource 创建两个单独的 bean,每个都有一个单独的用户,当用户想要登录时,控制器会相应地更改 JDBC 模板 DataSource.

                My idea was to create two separate beans for two DataSources each with a separate user and when a user wants to log in, the controller would change the JDBCtemplate DataSource accordingly.

                但我不确定这是否可行,因为 JDBC 模板已经被定义为 Spring Boot 项目并且我不知道它的范围(我假设如果它不是会话 bean,则更改 DataSource 将适用于所有用户,而不仅仅是一个用户)

                But I am not sure if that would work since the JDBCtemplate is already defined as a spring boot project and I don't know it's scope (I assume if it is not a session bean, changing the DataSource would be for all users, not just for one user)

                有人知道我应该如何解决这个问题吗?请告诉我!

                Does anyone have an idea about how should I tackle this problem? Please let me know!

                推荐答案

                你可以创建2个JdbcTemplate bean:

                You can create 2 JdbcTemplate beans:

                // declare
                @Bean("jdbc1")
                public JdbcTemplate createJdbcTemplate1(@Autowired @Qualifier("datasource1") DataSource dataSource1){
                    return new JdbcTemplate(dataSource1);
                }
                
                @Bean("jdbc2")
                public JdbcTemplate createJdbcTemplate2(@Autowired @Qualifier("datasource2") DataSource dataSource2){
                    return new JdbcTemplate(dataSource2);
                }
                

                并在自动装配时指定bean的名称:

                and specify name of bean when autowiring:

                // use jdbcTemplate1 for login/register/information
                @Autowired
                @Qualifier("jdbc1")
                protected JdbcTemplate jdbcTemplate1;
                
                // use jdbcTemplate2 for other
                @Autowired
                @Qualifier("jdbc2")
                protected JdbcTemplate jdbcTemplate2;
                

                这篇关于通过 jdbc 模板使用两个数据源的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                上一篇:将模式名称添加到 Spring 数据中的实体? 下一篇:Spring mongo 查询设置自定义超时

                相关文章

                  <small id='EmBeq'></small><noframes id='EmBeq'>

                1. <i id='EmBeq'><tr id='EmBeq'><dt id='EmBeq'><q id='EmBeq'><span id='EmBeq'><b id='EmBeq'><form id='EmBeq'><ins id='EmBeq'></ins><ul id='EmBeq'></ul><sub id='EmBeq'></sub></form><legend id='EmBeq'></legend><bdo id='EmBeq'><pre id='EmBeq'><center id='EmBeq'></center></pre></bdo></b><th id='EmBeq'></th></span></q></dt></tr></i><div id='EmBeq'><tfoot id='EmBeq'></tfoot><dl id='EmBeq'><fieldset id='EmBeq'></fieldset></dl></div>
                  <tfoot id='EmBeq'></tfoot><legend id='EmBeq'><style id='EmBeq'><dir id='EmBeq'><q id='EmBeq'></q></dir></style></legend>
                      <bdo id='EmBeq'></bdo><ul id='EmBeq'></ul>