初学JPA
很累, 但不写肯定就是白学了!
1、 新建一个Java Project,名称:jpaTest
2、 导入jpa包;
这一步比较关键,一是最好有一个现存的数据源(在DB Browse中新建), 如果没有也没有关系, 点Create new Driver新建一个就是了。二是选择自己要用到的数据库。
3、进入DB Browser, 对相应的表进行反向工程。记住选择JPA Reverse Engineering
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;
}
}
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();
}
}