1 新建JPA工程
1.1 新建
1.2 加入jar
1.hibernate-release-4.2.4.Final\lib\required\*.jar
2.hibernate-release-4.2.4.Final\lib\jpa\*.jar
3.数据库驱动的 jar 包
1.3 persistence.xml
<persistence-unit name="jpa_test1"transaction-type="RESOURCE_LOCAL">
<!--
配置使用什么 ORM 产品来作为 JPA 的实现
1.实际上配置的是 javax.persistence.spi.PersistenceProvider 接口的实现类
2.若 JPA 项目中只有一个 JPA 的实现产品, 则也可以不配置该节点.
-->
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<!-- 添加持久化类 -->
<class>com.jpa.helloworld.Customer</class>
<properties>
<!-- 连接数据库的基本信息 -->
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://127.0.0.1:3306/jpa"/>
<property name="javax.persistence.jdbc.user" value="root"/>
<property name="javax.persistence.jdbc.password" value="root"/>
<!-- 配置 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>
2 测试
2.1 实体基本注解
@Table(name="JPA_CUTOMERS")
@Entity
public classCustomer {
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;
}
}
2.2 持久化操作
public staticvoidmain(String[] args){
//1. 创建EntitymanagerFactory
StringpersistenceUnitName= "jpa_test1";
EntityManagerFactoryentityManagerFactory =
Persistence.createEntityManagerFactory(persistenceUnitName);
//2. 创建 EntityManager.类似于 Hibernate 的 SessionFactory
EntityManagerentityManager= entityManagerFactory.createEntityManager();
//3. 开启事务
EntityTransactiontransaction= entityManager.getTransaction();
transaction.begin();
//4. 进行持久化操作
Customercustomer= newCustomer();
customer.setAge(12);
customer.setEmail("tom@atguigu.com");
customer.setLastName("Tom");
entityManager.persist(customer);
//5. 提交事务
transaction.commit();
//6. 关闭 EntityManager
entityManager.close();
//7. 关闭EntityManagerFactory
entityManagerFactory.close();
}
2.3 结果
源码文件:https://download.csdn.net/download/qq_26553781/10301043