您的位置:首页 > 数据库

h2内存型数据库离线开发配置

2016-12-12 22:15 183 查看
1.pom.xml

<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.3.172</version>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.2.1</version>
</dependency>

2.hibernate-setting.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jpa="http://www.springframework.org/schema/data/jpa"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd" default-lazy-init="true">

<!--事务管理器配置 -->
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>

<!-- JPA实体管理工厂的配置 -->
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter" />
<property name="packagesToScan" value="com.entity" /><!--待扫描的实体类包,不再需要persistence.xml了 -->
<property name="jpaProperties">
<props>
<prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>
<!-- spring-data-jpa自动扫描继承JpaRepository的Inteface -->
<jpa:repositories base-package="com.dao"
transaction-manager-ref="transactionManager"
entity-manager-factory-ref="entityManagerFactory" />

<!-- 使用annotation定义事务 -->
<tx:annotation-driven transaction-manager="transactionManager"
proxy-target-class="true" />

<!-- below all is h2 setting, can change to mysql -->
<!--指定实现JPA的适配器 -->
<bean id="hibernateJpaVendorAdapter"
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="databasePlatform" value="org.hibernate.dialect.H2Dialect" />
</bean>
<!--below two is h2 console-->
<!-- 	<bean id="h2Server" class="org.h2.tools.Server" factory-method="createTcpServer" -->
<!-- 		init-method="start" destroy-method="stop" depends-on="h2WebServer"> -->
<!-- 		<constructor-arg value="-tcp,-tcpAllowOthers,-tcpPort,9092" /> -->
<!-- 	</bean> -->
<!-- 	<bean id="h2WebServer" class="org.h2.tools.Server" factory-method="createWebServer" -->
<!-- 		init-method="start" destroy-method="stop"> -->
<!-- 		<constructor-arg value="-web,-webAllowOthers,-webPort,8082" /> -->
<!-- 	</bean> -->

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"><!-- depends-on="h2Server" -->
<property name="driverClass" value="org.h2.Driver"/>
<property name="jdbcUrl" value="jdbc:h2:mem:mopaas_db"/>
</bean>

</beans>

3.就可以使用entitymanger来进行jpa操作。或者参详下面使用JpaRepository操作,后者代码量更少。
http://blog.csdn.net/abcd1101/article/details/54713268
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring h2