初学JPA

很累, 但不写肯定就是白学了!

1、 新建一个Java Project,名称:jpaTest

2、 导入jpa包;

初学JPA

初学JPA

这一步比较关键,一是最好有一个现存的数据源(在DB Browse中新建), 如果没有也没有关系, 点Create new Driver新建一个就是了。二是选择自己要用到的数据库。

初学JPA

初学JPA

3、进入DB Browser, 对相应的表进行反向工程。记住选择JPA Reverse Engineering

初学JPA

初学JPA

4、 进入生成的实体类Student,

@Id

@GeneratedValue(strategy=GenerationType.IDENTITY)

@Column(name = "id", unique = true, nullable = false, insertable = true, updatable = true)

public Integer getId() {

return this.id;

}

在主键Id的下面加上@GeneratedValue(strategy=GenerationType.IDENTITY)

5、 双击persistence.xml, 在

6、 建立JpaUtil类, 代码如下:

package com.yenange.jpa.util;

import javax.persistence.EntityManager;

import javax.persistence.EntityManagerFactory;

import javax.persistence.Persistence;

public class JpaUtil {

public static EntityManager getEntityManager() {

EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpaTestPU");

EntityManager em = emf.createEntityManager();

return em;

}

}

初学JPA

初学JPA

7、 建立测试类;

package com.yenange.test;

import java.util.List;

import javax.persistence.EntityManager;

import javax.persistence.EntityTransaction;

import com.yenange.entity.Student;

import com.yenange.jpa.util.JpaUtil;

public class StudentDaoTest {

public static void main(String[] args) {

add();

findAll();

}

/** 查找所有学生 */

private static void findAll() {

EntityManager em=JpaUtil.getEntityManager();

String jpaSql="select s from Student s";

javax.persistence.Query query=em.createQuery(jpaSql);

List list=query.getResultList();

for (Student student : list) {

System.out.println(student.getName());

}

em.close();

}

/** 添加操作 */

private static void add() {

EntityManager em=JpaUtil.getEntityManager();

EntityTransaction et=em.getTransaction();

Student student=new Student();

student.setName("王子");

student.setAge(25);

et.begin();

em.persist(student);

et.commit();

em.close();

}

}