zoukankan      html  css  js  c++  java
  • JPA删除实体

    要从数据库中删除记录,可以使用EntityManager接口提供remove()方法。remove()方法使用主键来删除特定的记录。

    JPA实体删除示例

    在这里,我们将演示如何根据主键删除指定学生的信息。

    完整的项目代码如下所示 -

    这个例子包含以下步骤 -

    第1步:com.yiibai.jpa.student包下创建一个名为StudentEntity.java的实体类,它包含属性:s_ids_names_age

    文件:StudentEntity.java 的代码如下 -

    package com.yiibai.jpa.student;
    
    import javax.persistence.*;
    
    @Entity
    @Table(name = "student")
    public class StudentEntity {
    
        @Id
        private int s_id;
        private String s_name;
        private int s_age;
    
        public StudentEntity(int s_id, String s_name, int s_age) {
            super();
            this.s_id = s_id;
            this.s_name = s_name;
            this.s_age = s_age;
        }
    
        public StudentEntity() {
            super();
        }
    
        public int getS_id() {
            return s_id;
        }
    
        public void setS_id(int s_id) {
            this.s_id = s_id;
        }
    
        public String getS_name() {
            return s_name;
        }
    
        public void setS_name(String s_name) {
            this.s_name = s_name;
        }
    
        public int getS_age() {
            return s_age;
        }
    
        public void setS_age(int s_age) {
            this.s_age = s_age;
        }
    
    }
    
    Java

    第2步: 将实体类和其他数据库配置映射到persistence.xml文件中。

    文件: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>
    
    XML

    com.yiibai.jpa.student包下创建一个名为DeleteStudent.java的持久化类,以便将实体对象与数据保持一致。

    文件:DeleteStudent.java 的代码如下 -

    package com.yiibai.jpa.student;
    
    import javax.persistence.*;
    
    public class DeleteStudent {
    
        public static void main(String args[]) {
            EntityManagerFactory emf = Persistence.createEntityManagerFactory("Student_details");
            EntityManager em = emf.createEntityManager();
            em.getTransaction().begin();
    
            StudentEntity s = em.find(StudentEntity.class, 1001);
            em.remove(s);
            em.getTransaction().commit();
            em.close();
            emf.close();
    
        }
    }
    
    Java

    在执行上面示例代码之前,在MySQL工作台下运行select * from student查询学生数据信息,应该可以看到有3条学生的详细信息。 在执行上面示例代码之后,再次在MySQL工作台下运行select * from stduent查询,应该会看到ID是1001的记录被删除了。

  • 相关阅读:
    lxml webdriver 抓取街拍
    python 正则抓取古诗词
    2021 最新版 Spring Boot 速记教程
    hbase 命令查看表大小
    Spring AOP,应该不会有比这更详细的介绍了!
    SpringBoot实战:整合Redis、mybatis,封装RedisUtils工具类等
    API接口的安全设计验证:ticket,签名,时间戳
    5.控制台输出空心菱形
    4.灯泡开关问题
    EXCEL函数
  • 原文地址:https://www.cnblogs.com/borter/p/12423941.html
Copyright © 2011-2022 走看看