使用Spring Data JPA之前,首先来了解什么是JPA。JPA(全称为Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发者提供了一种对象/关联映射工具,用于管理Java应用中的关系数据。它的出现是为了整合现有的ORM技术并简化现有的持久层开发工作。
Spring Data JPA是Spring基于ORM框架、JPA规范之上封装的一套JPA应用框架,开发者可以通过极简的代码来实现对数据的访问和操作,基本上所有GRUD(增加create、读取查询retrieve、更新update和删除delete的首字母简写)都可以依赖它来实现。本节将讲述如何通过Spring Data JPA来访问数据库。
首先在本地运行MySQL数据库,创建一个名为test的数据库,然后创建名字为user的数据表,字段包括非空的、自增的主键id,用户名name和年龄age。user表创建成功后,插入两条用户记录用作演示:
动手写20.3.1
打开Spring官方的STS集成开发工具,创建工程名为jpa,包名为com.demo.jpa的Spring Boot项目,配置方式如图20.3.1所示。
图20.3.1 创建Spring Boot项目
点击“Next”进入下一界面,在当前界面勾选项目需要的Spring模块,包括Web、JPA以及MySQL,其中MySQL指的是MySQL的JDBC驱动,配置方式如图20.3.2所示。
图20.3.2 选择Spring模块
搭建完成的Spring Boot项目在\src\main\resources\目录下会有一个名为application.properties的配置文件,本项目需要配置数据库的账号、密码、要连接的数据库以及数据库驱动,配置方式如下:
动手写20.3.2
编写Users实体类,该实体类对应MySQL数据库中的user表,其中@Entity注解表明这是一个实体Bean,@Id注解指定表的主键,@Column注解定义了成员属性映射到关系表中的哪一列:
动手写20.3.3(www.xing528.com)
Repository(资源库)是一个访问领域对象的类似集合的接口,在领域与数据映射层之间进行协调。Spring Data JPA提供了几个Repository,其中JpaRepository实现一组JPA规范相关的方法。编写UsersRepository类并继承JpaRepository接口,使UsersRepository类具备通用的数据访问控制层的能力,代码如下所示:
动手写20.3.4
编写控制层IndexController类,在allPerson()中调用UsersRepository的findAll()方法来查询users表中的所有记录,在findPerson()方法中调用UsersRepository类的findByName()来查询users表中指定名字的一条记录:
动手写20.3.5
打开浏览器访问http://localhost:8080/person/all,请求会传给IndexController处理器的allPerson()方法,返回users表中的所有记录,返回结果如下:
图20.3.3 请求数据库数据
在浏览器中访问http://localhost:8080/person/find?name=Jack,请求传给IndexController处理器的findPerson()方法,返回users表中name字段为Jack的记录,返回结果如下:
图20.3.4 查找数据库中指定数据
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。