欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

JPA CRUD示例,jpacrud示例,package cn.o

来源: javaer 分享于  点击 39034 次 点评:204

JPA CRUD示例,jpacrud示例,package cn.o


package cn.outofmemory;import javax.persistence.*;@Entitypublic class Employee {    @Id String name;    Double salary;    public Employee()    {    }    public Employee (String name, Double Salary)    {        this.name=name;        this.salary=Salary;    }    publicvoid setSalary(Double Salary)    {        this.salary=Salary;    }    publicString toString()    {        return"Name: "+name+"\nSalary: "+salary ;    }}

使用示例

package cn.outofmemory;import javax.persistence.*;import java.util.*;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main {    /**     * Displays all Employees in the Database     */    private static void displayAll()    {        em.getTransaction().begin();        TypedQuery  e=em.createQuery(displayAllQuery, Employee.class);        List <Employee> employees=e.getResultList();        if(employees.size()>0)        {            for(Employee temp:employees)            {                System.out.println(temp);                System.out.println();            }            System.out.println(employees.size()+" Employee Records Available...!");        }        else            System.out.println("Database is Empty!");        em.getTransaction().commit();    }    /**     * Insets an Employee into the Database.     */    private static void insert()    {            System.out.print("Enter the number of Employees to be inserted: ");            n=input.nextInt();            em.getTransaction().begin();            for(int i=0;i<n;i++)            {                 System.out.println("Enter the details of Employee "+(i+1)+": ");                System.out.print("Name: ");                //I use BufferedReader to read String and hence I need to                 // Catch the IOException that it may throw                try                {                    name=bufferedReader.readLine();                }                catch (IOException e)                {                    e.printStackTrace();                }                System.out.print("Salary: ");                Salary=input.nextDouble();                Employee emp=new Employee(name,Salary);                em.persist(emp);                                //Store emp into Database            }        em.getTransaction().commit();        System.out.println("\n"+n+" employee record(s) Created!\n");        TypedQuery  count=em.createQuery(countQuery,Employee.class);        System.out.println("\n"+count.getSingleResult()+" employee record(s) Available in Database!\n");    }    /**     * Deletes the specified Employee from the database     *@param name     */    private static void delete(String name)    {        em.getTransaction().begin();        Employee e=(Employee) em.find(Employee.class, name);         //Find Object to be deleted        em.remove(e);                                                //Delete the Employee from database        System.out.printf("Employee %s removed from Database....",e.name);        em.getTransaction().commit();        //Display Number of Employees left        TypedQuery  count=em.createQuery(countQuery,Employee.class);        System.out.println("\n"+count.getSingleResult()+" employee record(s) Available in Database!\n");    }    /**     * Changes salary of the specified employee to passed salary     *@param name     *@param Salary     */    private static void modify(String name,Double Salary)    {        em.getTransaction().begin();        Employee e=(Employee) em.find(Employee.class, name);  //Find Employee to be modified        e.setSalary(Salary);                                  //Modify the salary        em.getTransaction().commit();        System.out.println("Modification Successful!\n");    }    public static void main(String arg[])    {        System.out.println("Welcome to the Employee Database System!\n\n");        do{                System.out.print("Menu: \n 1. View DB\n2. Insert \n3. Delete \n4. Modify\n5. Exit\nEnter Choice...");            int ch=input.nextInt();            try{                switch(ch)                {                case 1:                    displayAll();                    break;                case 2:                    insert();                    break;                case 3:                    System.out.print("Name of Employee to be Deleted2: ");                    name=bufferedReader.readLine();                    delete(name);                    break;                case 4:                    System.out.print("Name of Employee to be Modified: ");                    name=bufferedReader.readLine();                    System.out.print("New Salary: ");                    Salary=input.nextDouble();                    modify(name,Salary);                    break;                case 5:                    if(em!=null) em.close();        //Close EntityManager                    if(emf!=null) emf.close();        //Close EntityManagerFactory                    exit=true;                    break;                }            }            catch (IOException e)            {                e.printStackTrace();            }        }while(!exit);    }    static EntityManagerFactory emf=Persistence.createEntityManagerFactory("empDB.odb");    static EntityManager em=emf.createEntityManager();    static Scanner input=new Scanner(System.in);    static BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));    static int n;    static String name;    static Double Salary;    static boolean exit=false;    //Query Repository    static String countQuery="Select count(emp) from Employee emp";    static String displayAllQuery="Select emp from Employee emp";}
相关栏目:

用户点评