首页 理论教育 实现Java数据库访问-精通SpringDataJPA

实现Java数据库访问-精通SpringDataJPA

时间:2023-10-19 理论教育 版权反馈
【摘要】:使用Spring Data JPA之前,首先来了解什么是JPA。Spring Data JPA是Spring基于ORM框架、JPA规范之上封装的一套JPA应用框架,开发者可以通过极简的代码来实现对数据的访问和操作,基本上所有GRUD都可以依赖它来实现。本节将讲述如何通过Spring Data JPA来访问数据库。图20.3.1创建Spring Boot项目点击“Next”进入下一界面,在当前界面勾选项目需要的Spring模块,包括Web、JPA以及MySQL,其中MySQL指的是MySQL的JDBC驱动,配置方式如图20.3.2所示。Spring Data JPA提供了几个Repository,其中JpaRepository实现一组JPA规范相关的方法。

实现Java数据库访问-精通SpringDataJPA

使用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 查找数据库中指定数据

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈