初学JPA

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

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

2、 导入jpa包;

clip_image002

clip_image004

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

clip_image006

clip_image008

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

clip_image010

clip_image012

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;

}

}

clip_image014

clip_image016

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();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值