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>
 
   第四步:创建一个名为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);
          StudentEntity s2 = new StudentEntity();
          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);
          //实体对象插入数据库
          em.persist(s1);
          em.persist(s2);
          em.persist(s3);
          //提交事务
         em.getTransaction().commit();
         em.close();
         emf.close();
         System.out.println("All job done.");

 
   第五步:执行完后可以到数据库验证是否执行成功
 
 
学习来源:https://www.yiibai.com/jpa/jpa-inserting-an-entity.html#article-start
 
posted @ 2020-09-08 09:43  小窝蜗  阅读(292)  评论(0)    收藏  举报