0

0

Spring Boot与Spring Data JPA集成实现ORM映射

WBOY

WBOY

发布时间:2023-06-22 18:31:59

|

1274人浏览过

|

来源于php中文网

原创

随着互联网的发展,越来越多的应用程序需要与数据库打交道,orm(object-relational mapping)技术应运而生,它将关系型数据库中的数据映射到对象模型中,使得我们可以像操作普通的java对象一样操作数据库数据。spring boot和spring data jpa是目前最流行的orm技术,本文将介绍如何通过它们的集成实现orm映射。

  1. 环境搭建

在开始本文的内容之前,你需要先了解Spring Boot和Spring Data JPA,并配备好以下环境:

  • JDK 1.8或以上版本
  • Maven 3.x或以上版本
  • IDE工具
  1. 创建Spring Boot应用

创建一个新的Spring Boot项目,具体操作可以通过在IDE中创建Maven项目,选择Spring Boot依赖或使用Spring Initializr快速搭建。

  1. 配置pom.xml文件

配置pom.xml文件添加Spring Data JPA和MySQL驱动的依赖。


    org.springframework.boot
    spring-boot-starter-data-jpa



     mysql
     mysql-connector-java
     runtime
  1. 配置application.properties文件

配置application.properties文件设置数据源属性。

# 数据库连接信息
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# JPA配置
spring.jpa.show-sql=true  # 显示SQL
spring.jpa.hibernate.ddl-auto=update # 自动创建表
spring.jpa.properties.hibernate.hbm2ddl.auto=update # 自动更新表
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect # 数据库方言
  1. 创建实体类

创建一个实体类,使用@Entity注解标注它是一个实体类,并使用@Id注解标注主键。

Remove.bg
Remove.bg

AI在线抠图软件,图片去除背景

下载
@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private Integer age;
    // 省略getter和setter方法
}
  1. 创建Repository

创建一个Repository接口,继承JpaRepository,它提供了大量的CRUD操作方法。

public interface UserRepository extends JpaRepository {
}
  1. 编写测试代码

在测试类中注入UserRepository,使用它操作数据库。

@RunWith(SpringRunner.class)
@SpringBootTest
public class UserRepositoryTest {

    @Autowired
    private UserRepository userRepository;

    @Test
    public void testSave() {
        User user = new User();
        user.setName("test");
        user.setAge(20);
        userRepository.save(user);
        assertThat(user.getId()).isNotNull();
    }

    @Test
    public void testFindByName() {
        User user = new User();
        user.setName("test");
        user.setAge(20);
        userRepository.save(user);
        User foundUser = userRepository.findByName("test");
        assertThat(foundUser.getName()).isEqualTo(user.getName());
    }
}
  1. 运行测试

运行测试类,查看测试结果。如果测试通过,则说明集成成功。

通过以上步骤,我们成功地完成了Spring Boot与Spring Data JPA集成实现ORM映射的配置与使用。当然,这只是基础用法的介绍,Spring Data JPA还提供了很多其他的功能,如分页、排序、条件查询等等。希望读者能够通过本文的介绍,进一步了解和掌握Spring Boot和Spring Data JPA的用法,更好地开发优秀的应用程序。

相关专题

更多
Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

9

2026.01.22

html编辑相关教程合集
html编辑相关教程合集

本专题整合了html编辑相关教程合集,阅读专题下面的文章了解更多详细内容。

53

2026.01.21

三角洲入口地址合集
三角洲入口地址合集

本专题整合了三角洲入口地址合集,阅读专题下面的文章了解更多详细内容。

28

2026.01.21

AO3中文版入口地址大全
AO3中文版入口地址大全

本专题整合了AO3中文版入口地址大全,阅读专题下面的的文章了解更多详细内容。

366

2026.01.21

妖精漫画入口地址合集
妖精漫画入口地址合集

本专题整合了妖精漫画入口地址合集,阅读专题下面的文章了解更多详细内容。

111

2026.01.21

java版本选择建议
java版本选择建议

本专题整合了java版本相关合集,阅读专题下面的文章了解更多详细内容。

3

2026.01.21

Java编译相关教程合集
Java编译相关教程合集

本专题整合了Java编译相关教程,阅读专题下面的文章了解更多详细内容。

15

2026.01.21

C++多线程相关合集
C++多线程相关合集

本专题整合了C++多线程相关教程,阅读专题下面的的文章了解更多详细内容。

9

2026.01.21

无人机驾驶证报考 uom民用无人机综合管理平台官网
无人机驾驶证报考 uom民用无人机综合管理平台官网

无人机驾驶证(CAAC执照)报考需年满16周岁,初中以上学历,身体健康(矫正视力1.0以上,无严重疾病),且无犯罪记录。个人需通过民航局授权的训练机构报名,经理论(法规、原理)、模拟飞行、实操(GPS/姿态模式)及地面站训练后考试合格,通常15-25天拿证。

46

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Spring中文手册
Spring中文手册

共0课时 | 0人学习

马士兵spring视频教程
马士兵spring视频教程

共25课时 | 9.1万人学习

ThinkPHP开发大型商城项目实战视频
ThinkPHP开发大型商城项目实战视频

共54课时 | 21.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号