Hikari连接池+ Hibernate 4.3.8 + Spring Data JPA配置? [英] Hikari connection pooling + Hibernate 4.3.8 + Spring Data JPA configuration?

查看:234
本文介绍了Hikari连接池+ Hibernate 4.3.8 + Spring Data JPA配置?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请告诉我。
如何配置Hikari连接池+ Hibernate 4.3.8 + Spring数据JPA配置?
这是我的配置,但由于某种原因,我确信这种配置不正确。因为控制台没有出现像连接池那样的东西。
在互联网上我找不到初学者的教程。
Thanks。

 < bean id =entityManagerFactory
class =org.springframework.orm .jpa.LocalContainerEntityManagerFactoryBean
p:dataSource-ref =dataSourcep:packagesToScan =com.history
p:jpaVendorAdapter-ref =jpaVendorAdapter>
< property name =jpaPropertiesref =hibernateProperties/>
< / bean>

< bean id =jpaVendorAdapter
class =org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter>
< property name =showSqlvalue =true/>
< property name =generateDdlvalue =true/>
< property name =databasevalue =ORACLE/>
< property name =databasePlatformvalue =org.hibernate.dialect.OracleDialect/>
< / bean>

< util:map id =hibernateProperties>
< entry key =hibernate.connection.driver_class
value =org.hibernate.hikaricp.internal.HikariCPConnectionProvider/>
< entry key =connection.urlvalue =$ {dataSource.url}/>
< entry key =connection.driver_classvalue =$ {dataSource.driverClassName}/>
< entry key =connection.usernamevalue =$ {dataSource.username}/>
< entry key =connection.passwordvalue =$ {dataSource.password}/>
< entry key =hibernate.jdbc.batch_sizevalue =100/>
< entry key =hibernate.order_insertsvalue =true/>
< entry key =hibernate.order_updatesvalue =true/>
< / util:map>

< bean id =dataSource
class =org.springframework.jdbc.datasource.DriverManagerDataSource>
< property name =driverClassNamevalue =$ {dataSource.driverClassName}/>
< property name =urlvalue =$ {dataSource.url}/>
< property name =usernamevalue =$ {dataSource.username}/>
< property name =passwordvalue =$ {dataSource.password}/>
< / bean>

< bean id =transactionManagerclass =org.springframework.orm.jpa.JpaTransactionManager
p:entityManagerFactory-ref =entityManagerFactory>
< / bean>


解决方案

我们也可以在自定义JPAConfiguration类中使用它您在哪里建立连接并创建实体管理器工厂对象。

  import com.zaxxer.hikari.HikariConfig; 
import com.zaxxer.hikari.HikariDataSource;

$ b @Bean
public DataSource dataSource(){
//在spring-boot-starter-web的类路径中
final Properties props = new Properties ();
props.put(driverClassName,com.mysql.jdbc.Driver);
props.put(jdbcUrl,jdbc:mysql:// localhost:3306 / master?createDatabaseIfNotExist = true);
props.put(username,root);
props.put(password,mysql);
HikariConfig hc =新的HikariConfig(道具);
HikariDataSource ds = new HikariDataSource(hc);
return ds;
}


please tell me. How can I configure the "Hikari connection pooling + Hibernate 4.3.8 + Spring Data JPA configuration"? Here is my configuration, but for some reason I am sure that this configuration is not correct. Because the the console does not appear anything like the "connetction pooling". On the Internet I can not find the tutorial for the beginner. Thanks.

<bean id="entityManagerFactory"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
    p:dataSource-ref="dataSource" p:packagesToScan="com.history"
    p:jpaVendorAdapter-ref="jpaVendorAdapter">
    <property name="jpaProperties" ref="hibernateProperties" />
</bean>

<bean id="jpaVendorAdapter"
    class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
    <property name="showSql" value="true" />
    <property name="generateDdl" value="true" />
    <property name="database" value="ORACLE" />
    <property name="databasePlatform" value="org.hibernate.dialect.OracleDialect" />
</bean>

<util:map id="hibernateProperties">
    <entry key="hibernate.connection.driver_class"
        value="org.hibernate.hikaricp.internal.HikariCPConnectionProvider" />
    <entry key="connection.url" value="${dataSource.url}" />
    <entry key="connection.driver_class" value="${dataSource.driverClassName}" />
    <entry key="connection.username" value="${dataSource.username}" />
    <entry key="connection.password" value="${dataSource.password}" />
    <entry key="hibernate.jdbc.batch_size" value="100" />
    <entry key="hibernate.order_inserts" value="true" />
    <entry key="hibernate.order_updates" value="true" />
</util:map>

<bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${dataSource.driverClassName}" />
    <property name="url" value="${dataSource.url}" />
    <property name="username" value="${dataSource.username}" />
    <property name="password" value="${dataSource.password}" />
</bean>

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"
    p:entityManagerFactory-ref="entityManagerFactory">
</bean>

解决方案

We can also use it like below in customized JPAConfiguration class where you are establishing connection and creating entity Manager Factory object.

         import com.zaxxer.hikari.HikariConfig;
         import com.zaxxer.hikari.HikariDataSource;


        @Bean
        public DataSource dataSource() {
            // In classpath from spring-boot-starter-web
            final Properties props = new Properties();
            props.put("driverClassName", "com.mysql.jdbc.Driver");
            props.put("jdbcUrl", "jdbc:mysql://localhost:3306/master?createDatabaseIfNotExist=true");
            props.put("username", "root");
            props.put("password", "mysql");
            HikariConfig hc = new HikariConfig(props);
            HikariDataSource ds = new HikariDataSource(hc);
            return ds;
        }

这篇关于Hikari连接池+ Hibernate 4.3.8 + Spring Data JPA配置?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆