一起学习 JPA(1)

1、在 eclipse 里面新建一个 JPA 项目。
2、加入依赖的 jar 包
(1)hibernate hibernate-release-4.3.6.Final\lib\required 下所有的包;
(2)hibernate 的jpa 的依赖包一个: hibernate-entitymanager-4.3.6.Final.jar;
(3)mysql 驱动包:
3、编写 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-1" transaction-type="RESOURCE_LOCAL">

        <!-- 配置使用什么 ORM 产品来作为 JPA 的实现 
            1、实际上配置的是 java.persistence.spi.PersistenceProvider 
            接口的实现类 
            2、若 JPA 项目中只有一个 JPA 的实现产品,则也可以不配置 -->
        <provider>org.hibernate.ejb.HibernatePersistence</provider>

        <!-- 添加持久化类 -->
        <class>com.liwei.entity.Customer</class>

        <properties>
            <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
            <property name="javax.persistence.jdbc.url" value="jdbc:mysql:///jpa" />
            <property name="javax.persistence.jdbc.user" value="root" />
            <property name="javax.persistence.jdbc.password" value="123456" />

            <!-- 配置 JPA 实现产品的基本属性,配置 Hibernate 的基本属性 -->
            <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>

4、编写实体类
注意实体类的类名、get 方法上的注解。

package com.liwei.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Table(name="JPA_CUSTOMER")
@Entity
public class Customer {
    private Integer id;
    private String lastName;
    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="last_name")
    public String getLastName() {
        return lastName;
    }
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public Customer(Integer id, String lastName, String email, int age) {
        super();
        this.id = id;
        this.lastName = lastName;
        this.email = email;
        this.age = age;
    }
    public Customer() {
        super();
    }
    @Override
    public String toString() {
        return "Customer [id=" + id + ", lastName=" + lastName + ", email="
                + email + ", age=" + age + "]";
    }
}

5、编写一段测试代码

package com.liwei.jpa;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;

import com.liwei.entity.Customer;

public class HelloWorld {

    public static void main(String[] args) {
        // 1、创建 EntityManagerFactory
        EntityManagerFactory entityManagerFactory = 
                Persistence.createEntityManagerFactory("jpa-1");
        // 2、创建 EntityManager
        EntityManager entityManager = entityManagerFactory.createEntityManager();
        // 3、开启事务
        EntityTransaction entityTransaction = entityManager.getTransaction();
        entityTransaction.begin();
        // 4、进行持久化操作
        Customer customer = new Customer();
        customer.setEmail("121088825@qq.com");
        customer.setLastName("liwei");
        customer.setAge(28);
        entityManager.persist(customer);
        // 5、提交事务
        entityTransaction.commit();
        // 6、关闭 EntityManager
        entityManager.close();
        // 7、关闭 EntityManagerFactory
        entityManagerFactory.close();
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值