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

如何在Spring@Configuration类中用HikariCP配置数据源?

萧建木
2023-03-14
private HikariDataSource dataSource() {
    final HikariDataSource ds = new HikariDataSource();
    ds.setMaximumPoolSize(100); 
    ds.setDataSourceClassName("oracle.jdbc.driver.OracleDriver"); 
    ds.addDataSourceProperty("url", "jdbc:oracle:thin:@localhost:1521:XE"); 
    ds.addDataSourceProperty("user", "username");
    ds.addDataSourceProperty("password", "password");
    ds.addDataSourceProperty("cachePrepStmts", true); 
    ds.addDataSourceProperty("prepStmtCacheSize", 250); 
    ds.addDataSourceProperty("prepStmtCacheSqlLimit", 2048); 
    ds.addDataSourceProperty("useServerPrepStmts", true);
    return ds;
} 

共有1个答案

龚盛
2023-03-14

您可以在这里的wiki中查看我们的示例:

https://github.com/brettwooldridge/hikaricp/wiki/spring-hibernate-with-annotations

如本文所述:

编辑:上面提供的代码不正确。您试图将MySQLdatasource属性用于Oracledatasource。现在,您将一个基于驱动程序的配置与一个基于数据源的配置混为一谈。简化它:

司机:

private HikariDataSource dataSource() {
   final HikariDataSource ds = new HikariDataSource();
   ds.setMaximumPoolSize(100);
   ds.setDriverClassName("oracle.jdbc.driver.OracleDriver"); 
   ds.setJdbcUrl("jdbc:oracle:thin:@localhost:1521:XE"); ;
   ds.setUsername("username");
   ds.setPassword("password");
   return ds;
}

或数据源:

private HikariDataSource dataSource() {
   final HikariDataSource ds = new HikariDataSource();
   ds.setMaximumPoolSize(100);
   ds.setDataSourceClassName("oracle.jdbc.pool.OracleDataSource");
   ds.addDataSourceProperty("serverName", "yourServer");
   ds.addDataSourceProperty("port", "1521");
   ds.addDataSourceProperty("databaseName", "XE");
   ds.addDataSourceProperty("user", "username");
   ds.addDataSourceProperty("password", "password");
   return ds;
}
 类似资料:
  • 我试图使用Spring的类在同一应用程序上下文中配置多个JPA实体/事务管理器。 当加载上下文时,Spring很难自动连接bean,因为它们实现了相同的接口。 不幸的是,我使用的是遗留代码,因此无法直接自动连接bean并使用注释,这就是为什么我试图使用配置类来完成这项工作。 在声明中,是否有任何方法来限定应该注入哪个Bean?我认为使用直接方法调用就足够了,但它通常会导致以下错误: Nonuniq

  • 在其他错误中,我发现了以下错误: 错误[org.jboss.as.Controller.management-Operation](控制器引导线程)JBAS014613:操作(“add”)失败-地址:([(“subsystem”=>“datasources”),(“data-source”=>“mydatasource”)])-失败描述:{“JBAS014771:Services with mis

  • 问题内容: 我正在尝试将HikariCP与Spring一起用于连接池。我正在使用jdbcTempLate和JdbcdaoSupport。 这是我用于数据源的spring配置文件: 但不幸的是,正在生成以下错误消息: 谁能告诉我如何解决这个问题? 问题答案: 你需要在bean配置上编写此结构(这是你的数据源): 这是我的示例,正​​在运行。你只需要将属性放在hibernate.properties上

  • 我想在我现有的web应用程序中添加一个连接池,它是使用Spring Boot1.5.1制作的。 数据源配置在Application.Properties中进行,如下所示: 我不需要再做什么配置了,有了这个就够了。 那么,将hikaricp添加到我的application.properties中的最简单方法是什么呢?

  • 我将MySQL数据源设置为主bean: 并将以下配置放入应用程序.属性中: 令人遗憾的是,这些HikariCP配置没有被读取:

  • 嗨,我正在尝试使用HikariCP与Spring连接池。我正在使用jdbcTempLate和JdbcDaoSupport。 这是数据源的spring配置文件: