Spring Boot的数据访问

来源:互联网 发布:淘宝千牛客服怎么设置 编辑:程序博客网 时间:2024/06/07 16:07

本文在 Spring Boot应用连接数据库MySQL简单介绍Spring Boot的数据访问。

Spring Data项目

Spring Data项目是Spring用来解决数据访问问题的一揽子解决方案,Spring Data是一个伞形项目,包含了大量关系型数据库及非关系型数据库的数据库访问解决方案。Spring Data使我们可以快速且简单地使用普通的数据访问技术及新的数据访问技术。

Entity实体

这里写图片描述

@Entity 注解指明这是一个和数据库表映射的实体类
@Id 注解指明这个属性映射为数据库的主键
@GeneratedValue注解默认使用主键生成方式为自增。

《Spring Boot应用连接数据库MySQL》中我们都没有写一行SQL语句,也没有在代码中涉及到数据库连接、建立查询等方面的内容。只有实体类上的各种注解表明我们在于数据库做交互:@Entity,@Repository,@Id,@GeneratedValue等,这些注解属于Java Persistance API。我们通过CrudRespository接口的子接口与数据库交互,同时由Spring建立对象与数据库表、数据库表中的数据之间的映射关系。下面依次说明这些注解的含义和使用:
1、@Entity 注解指明这是一个和数据库表映射的实体类。表的名称可以由实体类名推断,也可以加上@Table(name = “student”)明确配置。需要特别注意,每个Entity类都应该有一个protected访问级别的无参构造函数,用于给Hibernate提供初始化的入口。
2、@Id 注解指明这个属性映射为数据库的主键
3、@GeneratedValue注解默认使用主键生成方式为自增。

Spring Data JPA

Spring Data JPA 框架,主要针对的就是 Spring 唯一没有简化到的业务逻辑代码,至此,开发者连仅剩的实现持久层业务逻辑的工作都省了,唯一要做的,就只是声明持久层的接口,其他都交给 Spring Data JPA 来帮你完成!

这里写图片描述
@Repository 用来表示访问数据库并操作数据的接口,同时它修饰的接口也可以被component scan机制探测到并注册为bean,这样就可以在其他模块中通过@Autowired织入。
Spring Boot大大简化了持久化任务,几乎不需要写SQL语句。JPA会提供对应的SQL查询,例如,在本例中的StudentRepository中增加Student findStudentById(Long id)函数,JPA会自动创建对应的SQL查询——根据id查询学生,这种将方法名转换为SQL语句的机制十分方便且功能强大。

依赖文件

《Spring Boot应用连接数据库MySQL》添加的依赖文件如下:

这里写图片描述

spring-boot-starter-data-jpa:对JPA的支持,包含spring-data-jpa、spring-orm和Hibernate。
spring-boot-starter-jdbc:对JDBC数据库的支持。

Spring Boot为我们提供了简化企业级开发绝大数场景的starter pom,只要使用了应用场景的starter pom,相关的技术配置将会消除,就可以得到Spring Boot为我们提供了自动的配置的Bean。Spring Boot官方提供的starter pom。

这里写图片描述
这里写图片描述
这里写图片描述

返回 Java EE Web开发系列导航。

0 0
原创粉丝点击