【JPA】开始

Java SE中使用

实体Bean

package cn.ycx.entity;

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class Employee {
    @Id
    private int id;
    private String name;
    private long salary;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public long getSalary() {
        return salary;
    }
    public void setSalary(long salary) {
        this.salary = salary;
    }
    @Override
    public String toString() {
        return "Employee [id=" + id + ", name=" + name + ", salary=" + salary + "]";
    }
}

服务

package cn.ycx.service;

import javax.persistence.EntityManager;

import cn.ycx.entity.Employee;

public class EmployeeService {
    private EntityManager em;
    public EmployeeService (EntityManager em) {
        this.em = em;
    }
    public Employee createEmployee(int id, String name, long salary) {
        Employee employee = new Employee();
        employee.setId(id);
        employee.setName(name);
        employee.setSalary(salary);
        em.persist(employee);
        return employee;
    }
}

测试

package cn.ycx.test;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;

import cn.ycx.entity.Employee;
import cn.ycx.service.EmployeeService;

public class EmployeeTest {

    public static void main(String[] args) {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("EmployeeServiceUnit");
        EntityManager em = emf.createEntityManager();
        EmployeeService service = new EmployeeService(em);
        EntityTransaction et = em.getTransaction();
        
        et.begin();
        Employee employee = service.createEmployee(1, "tom", 5000);
        et.commit();
        System.out.println(employee);
    }

}

配置

<?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="EmployeeServiceUnit" transaction-type="RESOURCE_LOCAL">
        <class>cn.ycx.entity.Employee</class>
        <properties>
            <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
            <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/ycxfw"/>
            <property name="javax.persistence.jdbc.user" value="root"/>
            <property name="javax.persistence.jdbc.password" value="123456"/>
        </properties>
    </persistence-unit>
</persistence>
原文地址:https://www.cnblogs.com/yangchongxing/p/10100762.html