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>