当前位置: 首页 > 知识库问答 >
问题:

在运行时JavaEE7中设置数据源

桑博远
2023-03-14

如何动态设置数据源?像下面的Spring:

    @Bean(name = "dataSource")
    public DriverManagerDataSource dataSource() {
        DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource();
        driverManagerDataSource.setDriverClassName("com.mysql.jdbc.Driver");
        driverManagerDataSource.setUrl("jdbc:mysql://localhost:3306/userbase");
        driverManagerDataSource.setUsername("root");
        driverManagerDataSource.setPassword("root");
        return driverManagerDataSource;
    }

我可以从Spring导入这个功能到Java的EE 7企业应用程序吗?

共有1个答案

施文彬
2023-03-14

任何JavaEE7实现都有定义javax的工具。sql。在服务器的JNDI目录中具有名称的数据源。

您可以使用javax在应用程序客户机类中注入对它的引用。注释。资源注释和使用它的方法类似于:

public class SomeDatabaseClient {

    @Resource("jdbc/myDataSource")
    javax.sql.DataSource myDataSource;

    public void useTheDatabase(String username, String password) {

         try (Connection con = myDataSource.getConnection(username, password);
              PreparedStatement ps = con.prepareStatement(...);
              ResultSet rs = ps.executeQuery() {
              // process the result set
             ...
         } catch (SQLException e) {
              // handle errors
         }
    }
}

如果不需要动态指定数据库凭据,则可以将它们包含在服务器的数据源定义中。

请注意,安全地管理用户密码并不是一件小事,因此您需要一个很好的理由以这种方式使用它们。

如果您需要的话,您还可以将Spring框架配置设置为使用相同的代码像这样工作。

 类似资料:
  • 问题内容: 在已经加载(运行)JVM之后,是否可以更改/修改/添加VM参数?如果是这样,我该怎么办? 问题答案: 对于通过命令行上的标志设置的属性,您需要System.setProperty。例如: 更新: 您无法动态启用调试,但是可以在启动时启用调试,但稍后再附加调试器。通过以下操作,您可以侦听端口12345并立即开始运行程序(通过)。然后,您可以在需要时附加调试器,分离调试器,稍后再附加等。

  • 问题内容: 使用IKVM时,如何在运行时设置CLASSPATH变量? 我一直在尝试使用以下方法: 我正在调用的类需要在类路径中使用配置文件才能工作-而且我不断收到错误消息,似乎表明它没有获得设置。 我尝试添加变量的方式不正确吗? 问题答案: 我试图做同样的事情。我将一些jar文件编译为.Net dll,但是其中一些(第3方)jar文件正试图从java类路径中加载其配置文件。 我通过为ikvmc工具

  • 上游集群支持以下运行时配置: 主动健康检查 health_check.min_interval 健康检查间隔的最小值。默认值为0。运行状况检查间隔将介于min_interval和max_interval之间。 health_check.max_interval 健康检查间隔的最大值。默认值是MAX_INT。健康检查间隔将在min_interval和max_interval之间。 health_ch

  • HTTP连接管理器支持以下运行时设置: tracing.client_enabled 如果设置了x-client-trace-id头部,请求将被强制跟踪的百分比。默认为100。 tracing.global_enabled 在所有其他检查(强制跟踪,采样等)生效之后,将被跟踪的请求百分比。默认为100。 tracing.random_sampling 被随机跟踪的请求万分比。浏览此处获取更多信息。

  • 我可以使用以下命令在Git Bash中运行Spring Bootjar: 我现在正在尝试用IntelliJ运行应用程序。运行配置包含以下内容: 当我运行应用程序在我的IDE我得到: IllegalStateException:缺少必需的加密配置属性:jasypt.encryptor.password 我尝试在我的系统环境变量、运行配置环境变量中设置的值,并直接在

  • 问题内容: 使用jQuery在运行时设置标签属性的最佳方法是什么? 另外,如何使用jQuery 获取标签属性的值? 问题答案: 要获取或设置HTML元素的属性,可以在jQuery中使用该函数。 要获取 href 属性,请使用以下代码: 要设置 href 属性,请使用以下代码: 在这两种情况下,请使用适当的选择器。如果已为anchor元素设置了类,请使用;如果已为anchor元素设置了id,请使用。