SQL
create table emp( eid int, ename varchar(40), elanguage varchar(40) ); insert into emp values (1,'Tyson','Java'); insert into emp values (2,'Justin','Python'); insert into emp values (3,'Martin','C++'); commit;
persistence.xml (/src/main/resources/META-INF/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="pu" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> <class>com.demo.Emp</class> <properties> <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/mysql"/> <property name="javax.persistence.jdbc.user" value="tyson"/> <property name="javax.persistence.jdbc.password" value="tyson"/> <property name = "hibernate.show_sql" value = "true" /> <property name = "hibernate.format_sql" value = "true" /> <property name = "hibernate.hbm2ddl.auto" value = "none" /> <property name = "hibernate.dilect" value = "org.hibernate.dialect.MySQLDialect" /> </properties> </persistence-unit> </persistence>
Emp.java
package com.demo; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name="emp") public class Emp { @Id @Column(name="eid") private int eid; @Column(name="ename",nullable=false,length=40) private String ename; @Column(name="elanguage",nullable=false,length=40) private String elanguage; public int getEid() { return eid; } public void setEid(int eid) { this.eid = eid; } public String getEname() { return ename; } public void setEname(String ename) { this.ename = ename; } public String getElanguage() { return elanguage; } public void setElanguage(String elanguage) { this.elanguage = elanguage; } @Override public String toString() { return "Emp [eid=" + eid + ", ename=" + ename + ", elanguage=" + elanguage + "]"; } }
App.java
package com.demo; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; public class App { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("pu"); EntityManager em = emf.createEntityManager(); //findExample - select a specific row printEmployee(em); //insert a single row - persist createEmployee(em,4,"Fade","C#"); //update a single row updateEmployee(em,"Jade"); //only single delete deleteEmployee(em,3); em.close(); emf.close(); } private static void printEmployee(EntityManager em) { Emp e = em.find(Emp.class, 3); System.out.println(e); } private static void createEmployee(EntityManager em,int id,String name,String language) { Emp e = new Emp(); e.setEid(id); e.setEname(name); e.setElanguage(language); em.getTransaction().begin(); em.persist(e); em.getTransaction().commit(); } private static void updateEmployee(EntityManager em, String name) { Emp e = em.find(Emp.class, 3); System.out.println(e.toString()); em.getTransaction().begin(); e.setEname(name); em.getTransaction().commit(); System.out.println(e.toString()); } private static void deleteEmployee(EntityManager em, int id) { em.getTransaction().begin(); Emp e = em.find(Emp.class, id); em.remove(e); em.getTransaction().commit(); } }