SpringBoot 第十一篇 之 使用JPA操作数据库

1. 概述:

        JPA(Java Persistence API ,Java 持久化API) 定义了对象关系映射(ORM)和 实体对象持久化

         的标准接口。

        在SpringBoot中 JPA 依靠Hibernate方案得以实现。

        JPA 所维护的核心是实体(Entity Bean),而它是通过持久化上下文(persistence context)

        使用的。持久化上下文包含三部分:

         a. 对象关系映射(obecjt relational mapping , ORM)

         b. 实体操作API ,完成CURD操作

         c. 查询语言,约定了面向对象的查询语言 JPQL(Java Persistence Query Language) 通过

             这层关系可实现较为灵活的查询。

 

2. 使用JPA

   a.   pom.xml 中引入spring-boot-starter-data-jpa 相关包

		
		
			org.springframework.boot
			spring-boot-starter-data-jpa
		
		
			mysql
			mysql-connector-java
		
		
			org.springframework.boot
			spring-boot-starter-jdbc
		

		
			org.apache.commons
			commons-dbcp2
		
		

    b.   定义Entity类 。示例:

  User.java

package com.didispace.bean;

import com.didispace.connn.SexEnum;
import lombok.Data;

import javax.persistence.*;

// 下面的@Getter ,@Setter 注解也可用 @Data代替,
// 使用 @Data可直接生成getter,setter
// 标明是一个实体类
@Data
@Entity(name="user")
// 定义映射的表
@Table(name="t_user")
public class User {

    // 标明主键
    @Id
    //主键策略,递增,GenerationType.IDENTITY 代表依赖数据库递增策略
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    // 定义属性和表的映射关系
    @Column(name = "username")
    private String userName;

    // 定义转换器
    @Convert(converter= SexConverter.class)
    private SexEnum sex;


    private String note;

}

工程其他代码请 参阅:https://github.com/sss996/spingdatajpa

  

 

 

 

 

 

你可能感兴趣的:(java)