spring data jpa总结(一)
发布日期:2021-05-10 14:39:38 浏览次数:16 分类:精选文章

本文共 3452 字,大约阅读时间需要 11 分钟。

Spring Boot���JPA������������

1. ���������������������������

������������Spring Boot���������������������������������������������������������Spring Data JPA���Hibernate���������������������JPA������������������maven���������������������������������

  • junit ������������������
  • Hibernate ������JPA���������
  • Lombok ������������������

2. ���������������������������������

������SQLyog������������������jpa������������������cst_customer���������������Java������������������������������������

  • ������@Entity���������������������
  • ���������������������������������������������������@Table������
  • ������������������@Id���@GeneratedValue
  • ������������������@Column������

������������������������

@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "cst_customer")
public class Customer {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "cust_id")
private Long custId;
@Column(name = "cust_name")
private String custName;
... // ������������������������
}

3. ������JPA������������������

���src/META-INF���������������persistence.xml���������JPA������������������������<properties>���������������������������������������������������������������������������������URL������������������

org.hibernate.jpa.HibernatePersistenceProvider

4. ������DAO������

������Spring Data JPA������������Repository������������������������������������������

public interface CustomerRepository extends JpaRepository
{
// ���������������������������������������������
List
findByCustName(String custName);
}

5. ���������������

������������������������JPA������CRUD���������������������������������������

������������

@Test
public void saveCustomer() {
EntityManager em = JpaUtils.getEntityManager();
EntityTransaction tx = em.getTransaction();
tx.begin();
Customer customer = new Customer();
customer.setCustName("������������");
em.persist(customer);
tx.commit();
em.close();
}

������������

@Test
public void findCustomer() {
EntityManager em = JpaUtils.getEntityManager();
EntityTransaction tx = em.getTransaction();
tx.begin();
Customer customer = em.find(Customer.class, 1L);
System.out.println(customer.getCustName());
tx.commit();
em.close();
}

������������

@Test
public void updateCustomer() {
EntityManager em = JpaUtils.getEntityManager();
EntityTransaction tx = em.getTransaction();
tx.begin();
Customer customer = em.find(Customer.class, 1L);
customer.setCustIndustry("Java������");
em.merge(customer);
tx.commit();
em.close();
}

������������

@Test
public void deleteCustomer() {
EntityManager em = JpaUtils.getEntityManager();
EntityTransaction tx = em.getTransaction();
tx.begin();
Customer customer = em.find(Customer.class, 1L);
em.remove(customer);
tx.commit();
em.close();
}

6. ���������������

���������������JpaUtils���������������������������������

public class JpaUtils {
private static EntityManagerFactory factory;
static {
factory = Persistence.createEntityManagerFactory("myJpa");
}
public static EntityManager getEntityManager() {
return factory.createEntityManager();
}
}

���������������������������������������������JPA���������������������

上一篇:Spring data jpa总结(二)
下一篇:线性回归笔记-python

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月26日 09时16分33秒