我正在尝试在我的Spring Boot(1.2.0.M1)应用程序中设置HikariCP,因此我可以使用它来代替Tomcat DBCP进行测试.我想在我的application.properties文件中配置连接池,就像我在使用Tomcat一样,但我无法弄清楚我应该怎么做.我发现的所有示例都显示了JavaConfig样式,或者使用单独的HikariCP属性文件.有人可以帮我弄清楚在application.properties中配置它的属性名吗?我还想从使用driverClassName方法切换到DataSourceClassName方法,因为它看起来更干净,建议使用.这在我的application.properties文件中也可以吗?
这是我对Tomcat DBCP的看法(只是一些基本的配置,没有完全刷新)
spring.datasource.validation-query=SELECT 1
spring.datasource.max-active=10
spring.datasource.max-idle=8
spring.datasource.min-idle=8
spring.datasource.initial-size=5
spring.datasource.test-on-borrow=true
spring.datasource.test-on-return=true
Run Code Online (Sandbox Code Playgroud)
我目前正在使用driverClassName和jdbc url来建立连接:
spring.datasource.url=jdbc:mysql://localhost:3306/myDb
spring.datasource.driverClassName=com.mysql.jdbc.Driver
Run Code Online (Sandbox Code Playgroud) 我读到MySQL不支持服务器端查询计划缓存.因此,如果我想使用PreparedStatements获得性能优势,我可以做的是在JDBC Connection中启用语句缓存.因此,根据文档,它将支持基于每个连接缓存预准备语句.
与MySQL有服务器端查询计划缓存相比,JDBC连接的PreparedStatement缓存的性能提升是多少?因此,如果确实在物理连接的缓存中找到了PreparedStatement,那么它是否意味着当它到达mysql服务器时,mysql不会对它运行查询优化并且能够直接执行它吗?
在使用MySQL作为我的数据库时,我是否应该在JDBC连接级别使用Statement缓存?我正在使用Hikari数据库连接池与Mysql JDBC连接器.