`

JPA入门(一)

    博客分类:
  • j2ee
阅读更多

1.POJO 

Employee.java

package pojo;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="T_EMPLOYEE")
public class Employee {
    @Id
    private String id;
    private String name;
    private double salary;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getSalary() {
        return salary;
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }

	@Override
	public String toString() {
		return "Employee [id=" + id + ", name=" + name + ", salary=" + salary
				+ "]";
	}

}

 

2.Dao 

EmployeeDao.java

package dao;
import javax.persistence.EntityManager;

import pojo.Employee;

public class EmployeeDao {
    private EntityManager em=null;
    
	public EmployeeDao(EntityManager em) {
		this.em = em;
	}

	public Employee createEmployee(String id,String name,double salary){
        Employee emp = new Employee();
        emp.setId(id);
        emp.setName(name);
        emp.setSalary(salary);
        em.persist(emp);
        return emp;
    }
    
    public void removeEmployee(String id){
        Employee emp = findEmployee(id);
        if(emp==null){
            throw new RuntimeException("The employee whose id is "+ id+" is not existed");
        }
        em.remove(emp);                        
    }
    
    public Employee findEmployee(String id){
        return em.find(Employee.class,id);
    }
    
    public Employee updateEmployee(String id,String name,double salary){
        Employee emp=findEmployee(id);
        if(emp==null){
            throw new RuntimeException("The employee whose id is "+ id+" is not existed");
        }
        emp.setName(name);
        emp.setSalary(salary);
        return emp;
    }
    
}

 

3.Configuration file

persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
	xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
               http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
	<persistence-unit name="emp" transaction-type="RESOURCE_LOCAL">
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		<properties>
			<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
			<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF-8" />
			<property name="javax.persistence.jdbc.user" value="root" />
			<property name="javax.persistence.jdbc.password" value="root" />
		</properties>
	</persistence-unit>
</persistence>

 

4. Test class

Main.java

package test;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import pojo.Employee;
import dao.EmployeeDao;
public class Main {

	public static void main(String[] args) {
	    EntityManagerFactory emf=Persistence.createEntityManagerFactory("emp");
	    EntityManager em=emf.createEntityManager();
	    
	    EmployeeDao employeeDao = new EmployeeDao(em);
	    
	    // create employee 
	    em.getTransaction().begin();
	    employeeDao.createEmployee("1", "xiao", 100);
	    em.getTransaction().commit();
	    
	    // update employee
	    em.getTransaction().begin();
	    employeeDao.updateEmployee("1", "xiao", 1000);
	    em.getTransaction().commit();
	    
	    // select employee
	    Employee e=employeeDao.findEmployee("1");
	    System.out.println(e);
	    
	    // remove employee
	    em.getTransaction().begin();
	    employeeDao.removeEmployee("1");
	    em.getTransaction().commit();
	}
}

 

 

分享到:
评论

相关推荐

    JPA入门(一)

    **JPA入门(一)** Java Persistence API(JPA)是Java平台上的一个标准,用于对象关系映射(ORM),它允许开发人员使用面向对象的编程模型来操作数据库。这篇入门教程将帮助初学者理解JPA的基本概念和用法。 **1....

    JPA从入门到精通

    jpa从入门到放弃,你值得拥有!!!!!

    Spring Data JPA从入门到精通

    'SpringDataJPA从入门到精通'以SpringBoot为技术基础 从入门到精通 由浅入深地介绍SpringDataJPA的使用。有语法 有实践 有原理剖析。'SpringDataJPA从入门到精通'分为12章 内容包括整体认识JPA、JPA基础查询方法、...

    spring data jpa入门实例

    【Spring Data JPA 入门实例】 Spring Data JPA 是 Spring 框架的一个模块,它简化了数据库访问层(DAO)的开发,通过提供自动化的 Repository 实现,使得开发者无需编写大量的 CRUD(创建、读取、更新、删除)代码...

    spring Data Jpa入门

    Spring Framework对JPA的支持本身就很强大,我们不用理会EntityManager的创建,事务处理等等.Spring又进步了,只需要声明一下方法接口,Spring Data JPA可以帮你完成数据访问层的实现代码,开发者把更多的心思放在业务...

    Spring Data JPA入门项目02

    在"Spring Data JPA入门项目02"中,你将学习如何在实际项目中应用这些概念,创建一个用户管理应用,其中包括用户排序和分页功能。通过对`usermanage1_2`这个文件的学习,你可以了解到如何配置Spring Data JPA,创建...

    JPA从入门到精通 推荐

    JPA从入门到精通 推荐

    spring data jpa 入门例子

    Spring Data JPA是Spring框架的一个模块,用于简化Java Persistence API(JPA)的使用,它提供了数据访问的抽象层,让开发者能够以更简洁的方式与数据库进行交互。本入门例子将帮助你理解并掌握Spring Data JPA的...

    Spring Data JPA入门项目01

    在这个"Spring Data JPA入门项目01"中,我们将探讨如何利用Spring Data JPA来实现基本的CRUD(创建、读取、更新和删除)功能。 首先,我们需要在项目中引入Spring Data JPA的相关依赖。这通常在Maven或Gradle的配置...

    Spring Data JPA 入门例子极简代码

    **Spring Data JPA 入门详解** Spring Data JPA 是 Spring 框架的一个模块,它简化了数据库访问,提供了一种声明式的方式来处理数据访问层的 CRUD(创建、读取、更新、删除)操作。它与 Java Persistence API (JPA)...

    hibernate jpa 入门案例依赖jar

    本篇文章将深入探讨Hibernate JPA入门案例所需的依赖,以及如何配置MySQL驱动。 首先,我们需要理解Hibernate和JPA的关系。Hibernate是最初的ORM框架,提供了全面的功能来处理数据库交互。而JPA是Java EE的一部分,...

    事物JPA入门

    **事物(Transaction)JPA 入门** Java Persistence API(JPA)是Java平台上的一个标准,用于管理和持久化Java对象到关系数据库。它提供了一种面向对象的方式来处理数据库操作,使得开发人员可以避免直接编写SQL,...

    JSF+JPA入门开发示例

    在"JSF+JPA入门开发示例"中,你可能会学习到以下关键知识点: 1. **JSF生命周期**:JSF组件有六个主要阶段,包括恢复视图、应用请求值、处理验证、更新模型值、调用应用程序和渲染响应。理解每个阶段的功能对于调试...

    JPA快速入门初步(myeclipse)

    在"JPA快速入门初步(myeclipse)"中,我们将学习如何在MyEclipse中设置JPA项目,理解基本的JPA概念,以及如何使用注解来定义实体和映射数据库表。 1. **JPA基础概念**: - **实体(Entity)**: 表示数据库中的表...

Global site tag (gtag.js) - Google Analytics