`
jsjzhou
  • 浏览: 28547 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

JavaSE中Jpa的应用入门

阅读更多

JavaSEJpa的应用入门

一.   JPa提供的用户接口

 

Persistence,EntityMangerFactory,EntityManager

二.   配置.

1.添加Jar

hibernate作为Jpa的实现进行.

添加hibernatejar.

添加hibernate-entitymanagerjar

2.配置persistence.xml文件

src下新建文件夹META-INF

MET-INF创建persistence.xml文件.配置如下:

<?xml version="1.0" encoding="UTF-8"?>

<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">

   

    <persistence-unit name="Emp" transaction-type="RESOURCE_LOCAL">

       <provider>org.hibernate.ejb.HibernatePersistence</provider>

       <class>org.jenfer.jpa.entity.Emp</class>

        <properties>

           <property name = "hibernate.connection.driver_class" value = "com.mysql.jdbc.Driver"/>

           <property name = "hibernate.connection.url" value = "jdbc:mysql://localhost/test"/>

           <property name = "hibernate.connection.username" value = "root"/>

           <property name = "hibernate.connection.password" value = "fox"/>

           <property name = "hibernate.hbm2ddl.auto" value="update"/>

          

           <property name="hibernate.show_sql" value="true"/>

        </properties>

    </persistence-unit>

</persistence>

说明: persistence-unit是持久化单元的名字

< provider/>:JPA实现提供程序

<class/>持久化的类

<properties/> 实现厂商自定义的属性

                           这里是hibernate的自定属性.相关资料参考hibernate的配置

三.   实体类的实现:

以下是是用Jpa的注解的POJO.

@Table,@Entity等请参考Jpa官方文档

 

@Table(name = "emp")

@Entity(name = "Emp")

public class Emp {

    @Id

    @Column(name = "emp_id")

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    private int empId;

 

    @Column(name = "emp_name", length = 10)

    private String empName;

 

    private String email;

 

    /**

     * Default constructor

     */

    public Emp() {

    }

 

    public int getEmpId() {

       return empId;

    }

 

    public void setEmpId(int empId) {

       this.empId = empId;

    }

 

    public String getEmpName() {

       return empName;

    }

 

    public void setEmpName(String empName) {

       this.empName = empName;

    }

 

    public String getEmail() {

       return email;

    }

 

    public void setEmail(String email) {

       this.email = email;

    }

}

 

四.   测试类库的编写.用到Junit测试框架

public class EvnTest {

    private static EntityManager manager;

 

    @BeforeClass

    public static void init() {

       EntityManagerFactory factory = Persistence

              .createEntityManagerFactory("Emp");

       manager = factory.createEntityManager();

    }

 

    @AfterClass

    public static void destory(){

       if(manager!=null){

           manager.close();

       }

    }

   

    @Test

    @Ignore

    public void envTest() {

 

       Emp emp = new Emp();

       emp.setEmail("wangwu@123.com");

       emp.setEmpName("周星驰");

       EntityTransaction tx = manager.getTransaction();

       try {

           tx.begin();

           manager.persist(emp);

           tx.commit();

       } catch (Exception e) {

           tx.rollback();

       }

    }

 

    @Test@Ignore

    public void queryTest() {

       Emp emp=manager.find(Emp.class, 1);

       System.out.println(emp.getEmpName());

    }

   

    @Test@Ignore

    public void updateTest(){

       Emp emp = new Emp();

       emp.setEmail("jsj@123.com");

       emp.setEmpName("周剑华");

       emp.setEmpId(1);

      

       EntityTransaction tx = manager.getTransaction();

       try {

           tx.begin();

           manager.<Emp>merge(emp);

           tx.commit();

       }

分享到:
评论

相关推荐

    javaSE javaEE oracle 初学必备

    JavaSE、JavaEE和Oracle是IT领域中三个重要的技术栈,对于初学者来说,掌握这些技术将为职业生涯打下坚实的基础。以下是对这三个技术领域的详细解释: JavaSE(Java Standard Edition)是Java平台的核心部分,提供...

    spring boot 入门项目

    它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者能够快速地创建出独立的、生产级别的基于 Spring 的应用。 入门Spring Boot,首先需要了解其核心概念: 1. **起步依赖...

    第1章 初识Spring的基本应用.ppt

    【Spring的基本应用】是Java EE企业级应用开发中不可或缺的一部分,尤其在Spring+Spring MVC+MyBatis的组合中,Spring作为基础框架扮演着至关重要的角色。本章内容主要涵盖Spring的核心容器、依赖注入以及Spring的...

    java基础入门答案

    - **JavaSE (Java Platform, Standard Edition)**: 核心版,适用于桌面应用程序和小型应用服务器,包含了运行Java程序的基础组件。 - **JavaME (Java Platform, Micro Edition)**: 针对嵌入式系统和移动设备的应用...

    glassFish+postgres+NetBeans j2ee开发指南

    JavaEE建立在JavaSE(Java Platform, Standard Edition)的基础之上,提供了一系列技术和规范以帮助开发者构建、部署和运行可移植、健壮、可扩展且安全的服务器端Java应用程序。JavaEE支持Web服务、组件模型、管理...

    Java小白新手入门必看的Java学习路线图,认真看错不了

    然后,你可以开始接触JavaEE(企业版),学习Servlet、JSP、JPA或Hibernate等技术,这些都是开发Web应用程序的关键。理解MVC(模型-视图-控制器)设计模式,以及Spring框架的应用,可以帮助你构建更复杂的业务逻辑。...

    java技术核心基础1

    - **Java EE**:在此基础上增加了许多用于企业级应用开发的技术,如EJB、JPA、Servlets、JSP等。Java EE主要针对大规模分布式系统的设计与开发。 #### Java学习资源 对于初学者来说,选择合适的资源至关重要。在...

    JavaEE源码javaEE相关安装包及教程

    它建立在Java Standard Edition(JavaSE)的基础上,提供了一整套用于开发、部署和管理企业级应用程序的技术框架。JavaEE通过简化复杂的企业级开发任务来提高开发效率,并确保应用程序的安全性、可靠性和可伸缩性。 ...

    java javaee api 中文版 帮助文档

    JavaEE(Java企业版)API则扩展了JavaSE,增加了对企业级应用的支持,如数据库连接(JDBC)、持久化(JPA)、Web服务(JAX-WS、JAX-RS)、会话管理(Servlet、JSP)和邮件服务(JavaMail)。例如,`javax.servlet`包...

    JAVA基础适合初学者

    JavaEE是在JavaSE的基础上扩展而来的,主要用于开发企业级应用。它包含了Web服务、EJB组件、JPA等高级特性,适用于大型分布式系统。 **JavaME (Java Platform, Micro Edition):** JavaME是为了嵌入式设备和移动...

    《Java编程基础知识点汇总及习题集》--答案

    Java2 Platform, Enterprise Edition,企业版)**:主要面向企业级应用开发,包含了构建基于Web的应用和服务所需的API,如Servlets、JavaServer Pages (JSP)、JavaBeans、Java Persistence API (JPA)、Java ...

    javaEE学习笔试 pl/sql linux

    - **入门**:熟悉JavaSE的基础语法和核心概念。 - **Web 技术**:学习Servlets、JSP、JSF等Web开发技术。 - **服务端技术**:掌握EJB、JMS(Java Message Service)、JPA(Java Persistence API)等服务端开发工具和...

Global site tag (gtag.js) - Google Analytics