导入jar包
配置配置文件
db.properties
jdbc.user =root
jdbc.password =root
jdbc.driverClass =com .mysql .jdbc .Driver
jdbc.jdbcUrl =jdbc:mysql:///jpa
applicationContext.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:context ="http://www.springframework.org/schema/context"
xmlns:tx ="http://www.springframework.org/schema/tx"
xsi:schemaLocation ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd" >
<context:component-scan base-package ="com.xiaoming.jpa" > </context:component-scan >
<context:property-placeholder location ="classpath:db.properties" />
<bean id ="dataSource" class ="com.mchange.v2.c3p0.ComboPooledDataSource" >
<property name ="user" value ="${jdbc.user}" > </property >
<property name ="password" value ="${jdbc.password}" > </property >
<property name ="driverClass" value ="${jdbc.driverClass}" > </property >
<property name ="jdbcUrl" value ="${jdbc.jdbcUrl}" > </property >
</bean >
<bean id ="entityManagerFactory" class ="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" >
<property name ="dataSource" ref ="dataSource" />
<property name ="jpaVendorAdapter" >
<bean class ="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
</property >
<property name ="packagesToScan" value ="com.xiaoming.jpa.entities" > </property >
<property name ="jpaProperties" >
<props >
<prop key ="hibernate.show_sql" > true</prop >
<prop key ="hibernate.format_sql" > true</prop >
<prop key ="hibernate.hbm2ddl.auto" > update</prop >
</props >
</property >
</bean >
<bean id ="transactionManager" class ="org.springframework.orm.jpa.JpaTransactionManager" >
<property name ="entityManagerFactory" ref ="entityManagerFactory" > </property >
</bean >
<tx:annotation-driven transaction-manager ="transactionManager" />
</beans >
Dao层需要注意的地方
@PersistenceContext
private EntityManager entityManager;
public void save (Person person){
entityManager.persist(person);
}
测试代码
@Test
public void testPersonService(){
Person p1 = new Person()
p1.setUsername ("张三" )
p1.setPassword ("123" )
p1.setAge (11 )
Person p2 = new Person()
p2.setUsername ("李四" )
p2.setPassword ("123" )
p2.setAge (12 )
System.out .println (personService.getClass ().getName ())
personService.save (p1, p2)
}