1. JPA HelloWorld

来源:互联网 发布:ubuntu install 编辑:程序博客网 时间:2024/06/06 09:12

JPA 是Java Persistence API 的简称,为Java EE 5.0 平台标准的ORM规范,统一访问持久层的方式,类似于JDBC

1.创建工程
如果是Eclipse,则直接选择创建JPA工程
如果是Maven,则可以手动增加META-INF目录和persistence.xml文件,或者修改Project Facets选择JPA

2.依赖包
这里写图片描述

maven依赖管理:

<dependency>    <groupId>org.hibernate</groupId>    <artifactId>hibernate-entitymanager</artifactId>    <version>4.2.4.Final</version></dependency><dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <version>5.1.38</version></dependency>

3.创建实体对象并添加注解

@Table(name="CUSTOMERS")@Entitypublic class Customer {    private Integer id;    private String name;    private String email;    private int age;    @Column(name="ID")    @GeneratedValue(strategy=GenerationType.AUTO)    @Id    public Integer getId() {        return id;    }    public void setId(Integer id) {        this.id = id;    }    @Column(name="Name")    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    @Column(name="Email")    public String getEmail() {        return email;    }    public void setEmail(String email) {        this.email = email;    }    @Column(name="Age")    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }}

4.配置JPA persistence.xml配置文件

<?xml version="1.0" encoding="UTF-8"?><persistence version="2.0"    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_2_0.xsd">    <persistence-unit name="JPA" transaction-type="RESOURCE_LOCAL">        <!--             配置使用什么ORM产品来作为JPA实现            1.实际配置的是javax.persistence.spi.PersistenceProvider接口实现类            2.若项目中只有一个ORM产品,该配置可以省略        -->        <provider>org.hibernate.ejb.HibernatePersistence</provider>        <!-- 添加持久化类 -->        <class>com.dragon.jpa.model.Customer</class>        <properties>            <!-- 配置数据库连接信息 -->            <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />            <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/jpa" />            <property name="javax.persistence.jdbc.user" value="mysql" />            <property name="javax.persistence.jdbc.password" value="Mysql123456" />            <!-- 配置JPA实现产品的基本属性 -->            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>            <property name="hibernate.format_sql" value="true"/>            <property name="hibernate.show_sql" value="true"/>            <property name="hibernate.hbm2ddl.auto" value="update"/>        </properties>    </persistence-unit></persistence>

5.测试

import javax.persistence.EntityManager;import javax.persistence.EntityManagerFactory;import javax.persistence.EntityTransaction;import javax.persistence.Persistence;import com.dragon.jpa.model.Customer;public class Main {    public static void main(String[] args) {        //persistence.xml文件中persistence-unit标签name属性值        String persistenceUnitName = "JPA";        //1.创建EntitymanagerFactory        EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory(persistenceUnitName );        //2.创建EntityManager        EntityManager entityManager = entityManagerFactory.createEntityManager();        //3.开启事务        EntityTransaction transaction = entityManager.getTransaction();        transaction.begin();        //4.进行持久化操作        Customer customer = new Customer();        customer.setAge(12);        customer.setEmail("ricky@163.com");        customer.setName("Ricky");        entityManager.persist(customer);        //5. 提交事务        transaction.commit();        //6.关闭EntityManager        entityManager.close();        //7.关闭EntityManager        entityManagerFactory.close();    }}
0 0
原创粉丝点击