JPA学习(一、JPA_Hello World)
框架学习之JPA(一)
JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java EE和Java SE应用开发工作;其二,Sun希望整合ORM技术,实现天下归一。
学习视频:尚硅谷框架jpa学习(有兴趣的同学留言邮箱)
使用软件:eclipse
Java版本:jdk8
本节目录
一、JPA_hello world
1.创建一个jpa项目,导入jar包
2.配置persistence.Xml文件
3.创建一个Customer类
4.Main类进行持久化操作
一、JPA_hello world
1.创建一个jpa项目,导入jar包
- Hibernate包
- Jpa整合包
- Mysql连接包
2.配置persistence.Xml文件
<persistence-unit name="SGG-jpa" transaction-type="RESOURCE_LOCAL"> <!-- 配置使用什么 ORM 产品来作为 JPA 的实现 1. 实际上配置的是 javax.persistence.spi.PersistenceProvider 接口的实现类 2. 若 JPA 项目中只有一个 JPA 的实现产品, 则也可以不配置该节点. --> <provider>org.hibernate.ejb.HibernatePersistence</provider> <!-- 添加持久化类 --> <class>hue.edu.xiong.jpa.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="admin"/> <!-- 配置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>
3.创建一个Customer类
package hue.edu.xiong.jpa;
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_CUSTOMERS")
@Entity
public class Customer {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
@Column(name="LAST_NAME")
private String lastName;
private String email;
private Integer age;
//get,set略,请自行补充
}
4.Main类进行持久化操作
package hue.edu.xiong.jpa;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
public class Main {
public static void main(String[] args) {
// 1.创建EntitymanagerFactory
String persistenceUnitName = "SGG-jpa";
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("937724308@qq.com");
customer.setLastName("xiong");
entityManager.persist(customer);
// 5.提交事务
transaction.commit();
// 6.关闭Entitymanager
entityManager.close();
// 7.关闭EntitymanageFactory
entityManagerFactory.close();
}
}
运行之后自动在mysql中创建了表,储存了数据,并且表结构和名称和我们声明的一样


浙公网安备 33010602011771号