JPA(Java Persistence API)学习四(JPA实体和表做映射)
1.概述
在JPA中,我们可以通过实体轻松地将数据插入到数据库中。
EntityManager提供persist()方法来插入数据记录。
2.实体和表的映射
第一步:创建项目主要是以下文件实体类(StudentEntity),持久化类(PersistStudent),元数据(persistence.xml)

第二步:StudentEntity.java代码
import javax.persistence.*;
@Entity
@Table(name = "student")
public class StudentEntity {
@Id
private int s_id;
private String s_name;
private int s_age;
//构造方法
//get set
}
第三步:将实体类和数据库配置映射到
persistence.xml文件中 <?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1"
xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="Student_details">
<class>com.yiibai.jpa.student.StudentEntity</class>
<properties>
<property name="javax.persistence.jdbc.driver"
value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.url"
value="jdbc:mysql://localhost:3306/testdb?serverTimezone=UTC" />
<property name="javax.persistence.jdbc.user" value="root" />
<property name="javax.persistence.jdbc.password" value="123456" />
<property name="eclipselink.logging.level" value="SEVERE" />
<property name="eclipselink.ddl-generation"
value="create-or-extend-tables" />
</properties>
</persistence-unit>
</persistence>
<persistence version="2.1"
xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="Student_details">
<class>com.yiibai.jpa.student.StudentEntity</class>
<properties>
<property name="javax.persistence.jdbc.driver"
value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.url"
value="jdbc:mysql://localhost:3306/testdb?serverTimezone=UTC" />
<property name="javax.persistence.jdbc.user" value="root" />
<property name="javax.persistence.jdbc.password" value="123456" />
<property name="eclipselink.logging.level" value="SEVERE" />
<property name="eclipselink.ddl-generation"
value="create-or-extend-tables" />
</properties>
</persistence-unit>
</persistence>
第四步:创建一个名为
PersistStudent.java的持久化类,以便将实体对象与数据保持一致 //读取xml文件创建工厂
EntityManagerFactory emf = Persistence.createEntityManagerFactory("Student_details");
//创建实体处理类
EntityManager em = emf.createEntityManager();
//开启事务
em.getTransaction().begin();
//添加实体对象
StudentEntity s1 = new StudentEntity();
s1.setS_id(1001);
s1.setS_name("Maxsu");
s1.setS_age(26);
s1.setS_id(1001);
s1.setS_name("Maxsu");
s1.setS_age(26);
StudentEntity s2 = new StudentEntity();
s2.setS_id(1102);
s2.setS_name("Yiibai");
s2.setS_age(23);
s2.setS_id(1102);
s2.setS_name("Yiibai");
s2.setS_age(23);
StudentEntity s3 = new StudentEntity();
s3.setS_id(1003);
s3.setS_name("James");
s3.setS_age(28);
s3.setS_id(1003);
s3.setS_name("James");
s3.setS_age(28);
//实体对象插入数据库
em.persist(s1);
em.persist(s2);
em.persist(s3);
em.persist(s2);
em.persist(s3);
//提交事务
em.getTransaction().commit();
em.close();
emf.close();
emf.close();
System.out.println("All job done.");
第五步:执行完后可以到数据库验证是否执行成功
学习来源:https://www.yiibai.com/jpa/jpa-inserting-an-entity.html#article-start

浙公网安备 33010602011771号