`
typot
  • 浏览: 43092 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Spring JPA 配置

阅读更多
库表:

JAVA EE 5.0

Hibernate 3.2 core

Hibernate 3.2 Annotation

Spring 2.0 Core

Spring 2.0 ORM/DAO/Hibarnate3.0

mysql jar

spring-aop.jar

aopalliance.jar



Persion 类

package jpa;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import java.io.*;
@Entity
public class Person implements Serializable{
@Id
@GeneratedValue
private Integer id;

private String lastName;

private String firstName;

public String getFirstName() {
  return firstName;
}

public void setFirstName(String firstName) {
  this.firstName = firstName;
}

public String getLastName() {
  return lastName;
}

public void setLastName(String lastName) {
  this.lastName = lastName;
}

public Integer getId() {
  return id;
}

public void setId(Integer id) {
  this.id = id;
}
}




PersionService 接口

package service;

import java.util.List;

import jpa.Person;

public interface PersonService {
public List<Person> findAll();

public void save(Person person);

public void remove(int id);

public Person find(int id);
}




PersionServiceImpl 实现

package service;

import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import jpa.Person;

import org.springframework.transaction.annotation.Transactional;

@Transactional
public class PersonServiceImpl implements PersonService {
private EntityManager em;

@PersistenceContext
public void setEntityManager(EntityManager em) {
  this.em = em;
}

@SuppressWarnings("unchecked")
public List<Person> findAll() {
  Query query = getEntityManager().createQuery("select p FROM Person p");
  return query.getResultList();
}

public void save(Person person) {
  if (person.getId() == null) {
   // new
   em.persist(person);
  } else {
   // update
   em.merge(person);
  }
}

public void remove(int id) {
  Person person = find(id);
  if (person != null) {
   em.remove(person);
  }
}

private EntityManager getEntityManager() {
  return em;
}

public Person find(int id) {
  return em.find(Person.class, id);
}
}


web.xml 增加一下内容

<listener>
  <listener-class>
   org.springframework.web.context.ContextLoaderListener
  </listener-class>
</listener>



WEB-INF/下面的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:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
<bean
  class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
 
<bean id="personService"
  class="service.PersonServiceImpl" />
 
<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 name="database" value="MYSQL" />
    <property name="showSql" value="true" />
    <property name="generateDdl" value="true"></property>

//自动建表
   </bean>
  </property>
</bean>

<bean id="dataSource"
  class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  <property name="driverClassName" value="com.mysql.jdbc.Driver" />
  <property name="url" value="jdbc:mysql://localhost/test" />
  <property name="username" value="root" />
  <property name="password" value="1" />
</bean>

<bean id="transactionManager"
  class="org.springframework.orm.jpa.JpaTransactionManager">
  <property name="entityManagerFactory"
   ref="entityManagerFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />

</beans>



src下面建个META-INF文件夹,下面建个persistence.xml

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistencehttp://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="punit"></persistence-unit>
</persistence>
分享到:
评论

相关推荐

    Struts2 Spring Jpa 配置测试

    3. **JPA配置**:JPA的配置主要涉及`persistence.xml`文件,它定义了持久化单元,包括数据源、JPA供应商(如Hibernate)、实体类的包名以及其他的持久化属性。同时,Spring需要配置JPA的`...

    Spring JPA 配置类包集合 方便大家使用

    Spring JPA,全称为Spring Data JPA,是Spring框架的一部分...这个“Spring JPA 配置类包集合”可能是为了方便开发者快速集成和配置Spring JPA项目,包含了一些常用的配置文件和实用工具类,有助于快速搭建和调试项目。

    Spring Boot使用spring-data-jpa配置Mysql多数据源

    在Spring Boot应用中,使用`spring-data-jpa`来配置MySQL多数据源是一项常见的需求,尤其是在构建大型分布式系统时,为了实现数据隔离、负载均衡或读写分离等目的。本教程将详细介绍如何在Spring Boot项目中配置多个...

    Spring Data JPA中文文档[1.4.3]_springdatajpa_erlang_waitxpf_

    8. ** Transactions**:Spring Data JPA 使用 Spring 的事务管理支持,可以方便地配置事务边界,确保数据操作的一致性。 9. **JPA Querydsl Support**:Spring Data JPA 还支持 Querydsl,这是一个强大的类型安全的...

    springjpa 和 spring多视图配置实例

    2. 配置文件(如`applicationContext.xml`或使用Java配置类)将设置数据源、JPA配置、DispatcherServlet配置、视图解析器等。 3. 实体类(Entity)将对应数据库表,用于持久化数据。 4. Repository接口将继承自...

    spring jpa

    - **启用JPA**:在Spring配置类中,通过@EnableJpaRepositories开启JPA支持,并指定Repository接口所在包。 4. **主要注解介绍** - `@Entity`:标记实体类,表示该类将被映射到数据库表。 - `@Table`:指定实体...

    Spring Data JPA 笔记

    至于压缩包中的“helloworld”文件,可能是一个简单的示例项目,通常会包含一个基础的Spring Data JPA配置,一个实体类,以及对应的Repository接口,用于展示Spring Data JPA的基本用法。通过查看这个例子,你可以更...

    Spring Boot+Jpa多数据源配置Demo(支持不同数据库)

    Spring Boot结合JPA(Java Persistence API)和JdbcTemplate,为开发者提供了灵活且强大的多数据源配置能力。本示例将详细介绍如何在Spring Boot项目中实现这样的配置,以支持不同类型的数据库。 首先,我们要理解...

    各种数据源配置之Spring+JPA配置BoneCP数据源

    总结起来,配置Spring+JPA与BoneCP数据源涉及的关键知识点包括:Spring框架、JPA、BoneCP连接池、数据库驱动、依赖管理、Spring配置、实体类、Repository接口以及Spring Boot的启动配置。理解并熟练掌握这些知识点,...

    maven+springmvc+springjpa+hibernate

    在IT行业中,构建高效、可维护的Web应用是至关重要的,而"Maven+SpringMVC+SpringJPA+Hibernate"的组合就是一个常见的解决方案。这个组合提供了全面的开发工具和技术,帮助开发者快速构建基于Java的Web应用程序。...

    spring注解+spring data jpa文档+JPA文档.rar

    Spring框架的核心特性包括依赖注入(DI)和面向切面编程(AOP),并且它还提供了对数据库操作的支持,这主要通过Spring Data JPA和Java Persistence API(JPA)实现。 Spring注解是Spring框架中的一大特色,它极大...

    Spring + JPA + Hibernate配置

    标题“Spring + JPA + Hibernate配置”涉及到的是Java开发中常用的三个框架——Spring、Java Persistence API (JPA) 和Hibernate的集成与配置。这是一份关于如何将这些框架结合使用的教程或参考资料,可能包含了实现...

    spring springmvc jpa配置文件

    总结来说,配置Spring、Spring MVC和JPA涉及多个XML文件,包括Spring的bean定义、Spring MVC的调度配置以及JPA的数据源和实体配置。理解并正确配置这些元素对于构建基于Java的Web应用至关重要,因为它们定义了组件...

    Spring JPA Example

    3. **配置Repository**:Spring Data JPA提供了一种基于接口的Repository编程模型。我们只需要定义一个接口,继承`JpaRepository`,就可以自动获得CRUD操作的方法。 ```java public interface UserRepository ...

    spring 4.0.6 + jpa2.0配置

    采用hibernate 4.3.6,spring 4.0.6 ,实现jpa配置,简单易懂明了。压缩文件中包含jpa依赖的hibernate包,如果下载者希望运行,需要自己写实体类。压缩包中含有精简的配置。

    spring boot jpa security

    Spring Data JPA是Spring框架的一个模块,提供了对JPA的高级支持,包括自动配置、查询生成和仓库抽象层,使得数据库操作更加便捷。 Spring Security是一个功能强大的安全框架,用于保护基于Spring的应用程序。它...

    spring jpa操作数据库 级联数据 hibernate

    Spring JPA可以通过配置文件或Java配置来集成Hibernate。使用Hibernate作为JPA提供者,我们可以利用其丰富的查询语言HQL(Hibernate Query Language)和Criteria API。 4. **JPA的其他特性:** - `@OneToOne`和`@...

Global site tag (gtag.js) - Google Analytics