Spring boot 整合 JPA


一、JPA是什么?

Spring Data JPA 是 Spring 基于 ORM 框架、JPA 规范的基础上封装的一套 JPA 应用框架,底层使用了 Hibernate 的 JPA 技术实现,可使开发者用极简的代码即可实现对数据的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用 Spring Data JPA 可以极大提高开发效率。

二、使用步骤

(1) 创建实体类 Demo。
(2) 创建 jpa repository 类操作持久化。
(3) 创建 service 类。
(4) 创建 restful 请求类。
(5) 测试

相关依赖

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

一、创建实体类

@Entity
@Data
@Table(name = "DEMO", schema = "ROOT")
public class Demo {
@Id
@GeneratedValue
private Integer id;
@Column(name = "name")
private String name;
}

二、创建 jpa repository 类操作持久化

public interface IDemoRepository extends CrudRepository<Demo, Integer> {}


三、创建 service 类

@Service
public class DemoService {
@Autowired 
private IDemoRepository demoRepository
@Transactional //事务
public void save(Demo demo) {
demoRepository.save(demo);
}
}

四、创建 restful 请求类

@Controller
@RequestMapping("/test")
public class DemoController {
@Autowired
private DemoService demoService;
@ResponseBody
@RequestMapping("/save")
public String save() {
demoService.save(new Demo("cl"));
return "okk";
}
}

五、测试

http://localhost:8080/test/save

六、相关注解

@Entity	声明类为实体或表。
@Table	声明表名。
@Basic	指定非约束明确的各个字段。
@Embedded	指定类或它的值是一个可嵌入的类的实例的实体的属性。
@Id	指定的类的属性,用于识别(一个表中的主键)。
@GeneratedValue	指定如何标识属性可以被初始化,例如自动、手动、或从序列表中获得的值。
@Transient	指定的属性,它是不持久的,即:该值永远不会存储在数据库中。
@Column	指定持久属性栏属性。
@SequenceGenerator	指定在@GeneratedValue注解中指定的属性的值。它创建了一个序列。
@TableGenerator	指定在@GeneratedValue批注指定属性的值发生器。它创造了的值生成的表。
@AccessType	这种类型的注释用于设置访问类型。如果设置@AccessType(FIELD),则可以直接访问变量并且不需要getter和setter,但必须为public。如果设置@AccessType(PROPERTY),通过getter和setter方法访问Entity的变量。
@JoinColumn	指定一个实体组织或实体的集合。这是用在多对一和一对多关联。
@UniqueConstraint	指定的字段和用于主要或辅助表的唯一约束。
@ColumnResult	参考使用select子句的SQL查询中的列名。
@ManyToMany	定义了连接表之间的多对多一对多的关系。
@ManyToOne	定义了连接表之间的多对一的关系。
@OneToMany	定义了连接表之间存在一个一对多的关系。
@OneToOne	定义了连接表之间有一个一对一的关系。
@NamedQueries	指定命名查询的列表。
@NamedQuery	指定使用静态名称的查询。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值