`

JPA+Hibernate 3.3 学习小结——第一个JPA程序

    博客分类:
  • JPA
阅读更多

所需要的最小的jar( 注意:jar 包所在路径不能含有空格或中文 )

hibernate3.jar
hibernate
- cglib - repack - 2 .1_3.jar
slf4j
- api - 1.5 . 2 .jar
javassist
- 3.4 .GA.jar
jta
- 1.1 .jar
antlr
- 2.7 . 6 .jar
commons
- collections - 3.1 .jar
dom4j
- 1.6 . 1 .jar
ejb3
- persistence.jar
hibernate
- annotations.jar
hibernate
- commons - annotations.jar
hibernate
- entitymanager.jar
log4j.jar
slf4j
- log4j12.jar

创建实例类

package  com.hujuan.bean;

import  javax.persistence.Entity;
import  javax.persistence.GeneratedValue;
import  javax.persistence.Id;

@Entity
// 默认情况下表名称是根据实体类名称创建的,name可以修改表名称
@Table(name = " person_table " )
public   class  Person {
    
    
private  Integer id;
    
private  String userName;
    
    
public  Person(){
    }
    
    
public  Person(String userName) {
        
this .userName  =  userName;
    }
    
// 主键生成策略@GeneratedValue(strategy=GenerationType.AUTO),
    
// 值为AUTO表示根据数据库由Hibernate自动选择生成策略,也可以省略写@GeneratedValue
    
// 值为IDENTITY表示主键自增长
    
// 值为SEQUENCE表示主键采用序列的方式
    
// 值为TABLE各个数据库都通用,但效率较低
    @Id  @GeneratedValue
    
public  Integer getId() {
        
return  id;
    }
    
public   void  setId(Integer id) {
        
this .id  =  id;
    }
    
public  String getUserName() {
        
return  userName;
    }
    
public   void  setUserName(String userName) {
        
this .userName  =  userName;
    }
}

注意:因为采用的是Hibernate 所以必须有一个空的构造函数

JPA 的配置文件

JPA 规范要求配置文件在类路径的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 /persistence       http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
                version
="1.0" >
    <!--  持久化单元,transaction-type事务类型包括全局事务类型JTA和本地事务类型 RESOURCE_LOCAL -->
   
< persistence-unit  name ="jpa"  transaction-type ="RESOURCE_LOCAL" >
     
< properties >
              
<!--  数据库方言  -->
 
< property  name ="hibernate.dialect"  value ="org.hibernate.dialect.MySQL5Dialect" />     <!--  建表方式,value值为creat-drop时表示创建应用的时候建表,结束应用的时候表自动删除;
     值为update表示如果映射元数据不存在则建立表,如果映射元数据存在并新增加了字段则会添加到数据库表中 
-->
         
< property  name ="hibernate.hbm2ddl.auto"  value ="update" />
         
< property  name ="hibernate.connection.driver_class"  value ="org.gjt.mm.mysql.Driver" />
         
< property  name ="hibernate.connection.username"  value ="root" />
         
< property  name ="hibernate.connection.password"  value ="root" />
         
< property  name ="hibernate.connection.url"  value ="jdbc:mysql://localhost:3306/jpadb" />       
      
</ properties >
   
</ persistence-unit >
</ persistence >
测试类
package  com.hujuan.test;
import  javax.persistence.EntityManager;
import  javax.persistence.EntityManagerFactory;
import  javax.persistence.Persistence;
import  org.junit.BeforeClass;
import  org.junit.Test;
import  com.hujuan.bean.Person;
public   class  PersonTest {
    @BeforeClass
    
public   static   void  setUpBeforeClass()  throws  Exception {
    }
     @Test
    
public   void  save(){
// EntityManagerFactory相当于Hibernate中的sessionFactory
// Persistence.createEntityManagerFactory("jpa")与配置文件中的持久化单元名称必须相同
        EntityManagerFactory factory  =  Persistence.createEntityManagerFactory( " jpa " );
// EntityManager相当于Hibernate中session
        EntityManager em  =  factory.createEntityManager();
        em.getTransaction().begin();
        
// 保存(持久化)方法
        em.persist( new  Person( " Tom " ));
        em.getTransaction().commit();
        em.close();
        factory.close();
    }
}

分享到:
评论

相关推荐

    Spring2.5.5+Struts2.0.11.2+JPA+Hibernate3.3实战

    在Java Web开发领域,Spring、Struts、Hibernate和JPA是四大核心框架,它们各自承担着不同的职责,共同构建了一个强大的企业级应用体系。本实战教程将深入探讨这些技术的集成与应用,旨在帮助开发者掌握如何高效地...

    搭建Struts2.1+Spring3.0+Hibernate3.3框架

    - Hibernate3.3还支持Entity Manager,它是JPA(Java Persistence API)的一部分,提供了对持久化层的抽象,使得应用程序可以与任何兼容的JPA提供者交互。 4. **数据库配置**: - 项目使用MySQL作为数据库,首先...

    spring3.0+hibernate3.3+struts2整合jar包

    在IT行业中,SSH(Spring、Struts2和Hibernate)是一个非常经典的Java企业级应用开发框架组合,被广泛用于构建高效、可维护性高的Web应用程序。这个"spring3.0+hibernate3.3+struts2整合jar包"正是为了帮助开发者...

    jersey+spring2.5+hibernate3.3+jpa

    标题 "jersey+spring2.5+hibernate3.3+jpa" 指的是一种集成技术,将轻量级的RESTful服务框架Jersey、企业级应用框架Spring 2.5、持久层框架Hibernate 3.3以及Java Persistence API(JPA)结合在一起,以实现高效且...

    struts2.1+spring2.5+hibernate3.3整合之第一步(spring2.5+hibernate3.3)

    首先,我们先关注Spring2.5与Hibernate3.3的整合,这是整个集成的第一步。 Spring2.5是Spring框架的一个版本,它提供了一个全面的编程和配置模型,用于管理企业级应用程序的复杂性。它强调依赖注入(DI)和面向切面...

    spring+springMVC+jpa+hibernate框架整合

    在IT领域,构建高效、可扩展的Web应用是至关重要的,而"spring+springMVC+jpa+hibernate框架整合"就是一个常见的解决方案。这个整合涉及到四个关键的技术栈:Spring框架、SpringMVC、JPA(Java Persistence API)...

    jpa+HIBERNATE的一个简单例子

    以下是一个简单的JPA + Hibernate的例子,展示了如何创建一个实体并进行持久化操作: 1. **定义实体类** ```java @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) ...

    手动创建 SpringMvc +SpringDataJpa+Hibernate+ freemarker mavenProject+ 环境切换 webDemo

    在本项目中,我们主要探讨如何手动构建一个基于SpringMVC、Spring Data JPA、Hibernate以及FreeMarker模板引擎的Maven工程,同时实现环境切换功能。这个基础框架为日常开发工作提供了必要的支持。 首先,SpringMVC...

    用maven构建SpringMVC+JPA+Hibernate+Hsql+jetty的web项目

    【标题】"用maven构建SpringMVC+JPA+Hibernate+Hsql+jetty的web项目"涉及了多个核心的Java Web开发技术,这里我们将深入探讨这些技术以及如何将它们整合到一起。 1. Maven:Maven是Apache的一个开源项目,它是一个...

    搭建一个JPA+hibernate实例

    在Java世界中,Java Persistence API(JPA)和Hibernate是两个非常重要的持久层框架,用于管理应用程序中的对象-关系映射(ORM)。JPA是一种标准的API,而Hibernate是其最流行的实现之一。本教程将指导你如何搭建一...

    spring3.0+struts2.2+hibernate3.3集成.rar

    描述中同样强调了这个主题,暗示了压缩包内可能包含了一个演示或教程,讲解如何将这三个流行的技术——Spring 3.0、Struts 2.2和Hibernate 3.3——整合在一起。 **Spring 3.0** 是一个全面的Java应用框架,提供依赖...

    SpringMVC+Spring+SpringDataJPA+Hibernate整合登录的效果

    这是整合SpringMVC+Spring+SpringDataJPA+Hibernate简单的实现登录的功能,用的是mysql数据库,这是一个web Project 如果你用的是JavaEE6那么你要注意bean-validator.jar和weld-osgi-bundle.jar与slf4j的jar包冲突。...

    spring3+springmvc+jpa+hibernate多数据源

    "spring3+springmvc+jpa+hibernate多数据源"是一个示例项目,它演示了如何在一个应用中集成Spring 3、Spring MVC、JPA 2.0以及Hibernate,以实现对多个数据源的支持。下面将详细介绍这些技术及其集成的关键点。 **...

    spring3.0+hibernate3.3+mysql8.0

    在本项目中,我们关注的是一个经典的Java Web开发技术栈:Spring 3.0、Hibernate 3.3以及MySQL 8.0的整合。这个组合是企业级应用中常见的技术选型,它们各自承担着不同的职责,共同构建了一个强大、灵活且可扩展的...

    spring2.5+strut2.0+hibernate3.3集成

    标题“spring2.5+strut2.0+hibernate3.3集成”涉及到的是一个经典的Java企业级开发框架组合,这在2000年代末至2010年初是非常流行的技术栈。这个集成旨在提供一个统一的、高效且可扩展的平台来构建Web应用程序。下面...

    jpa + hibernate 例子

    而**Hibernate**则是一个实现了JPA规范的开源ORM框架,它简化了数据库操作,使得开发者可以使用Java对象来操作数据库,而无需编写大量的SQL语句。 在**JPA + Hibernate**的例子中,通常会涉及以下几个核心概念: 1...

    Spring2.5+Structs2+Hibernate3.3框架例子

    这个"Spring2.5+Structs2+Hibernate3.3框架例子"是一个经典的组合,旨在帮助初学者理解这些框架如何协同工作,构建高效的企业级应用程序。 **Spring框架**:Spring 是一个全面的后端开发框架,它提供了依赖注入(DI...

    基于Flex4.X+BlazeDS+Spring3+JPA+Hibernate+MySQL实战开发在线书店

    Flex 是一个高效、免费的开源框架,可用于构建具有表现力的 Web应用程序,这些应用程序利用Adobe Flash Player和Adobe AIR, 运行时跨浏览器、桌面和操作系统实现一致的部署。虽然只能使用 Flex 框架构建 Flex应用...

    Spring+Jersey+JPA+Hibernate+MySQL整合

    在这个项目中,Hibernate通过JPA与MySQL数据库进行通信,存储和检索应用程序的数据。 项目中的源码包含了整合这些技术的所有必要组件,包括配置文件、实体类、DAO(数据访问对象)接口、服务类和控制器。开发者可以...

    ssh2(struts2+spring2.5+hibernate3.3+ajax)带进度条文件上传(封装成标签)

    标题 "ssh2(struts2+spring2.5+hibernate3.3+ajax)带进度条文件上传(封装成标签)" 涉及到的是一个基于Java Web的项目,利用了Struts2、Spring2.5、Hibernate3.3和Ajax技术,实现了文件上传并带有进度条显示的功能...

Global site tag (gtag.js) - Google Analytics