大家好,又见面了。

这是本系列的最后一篇文档啦,先来回顾下前面4篇:

通过前面的系列文档,我们一起对SpringData JPA从浅入深的进行了全方位的探讨。正所谓“工欲善其事、必先利其器”,面对一个优秀的框架,如果再结合一些外部的工具,其实可以让我们的开发效率与程序员开发过程的体验更上一层楼的。

本篇内容,我们就一起来聊一聊这方面。

借助IDEA提升效率

IDEA中直接连接数据源

项目开发的时候,经常需要一边写代码一边看下数据库表数据或者字段,需要在IDEA和数据库客户端之间来回切换,很麻烦。其实,IDEA中可以直接连接数据库,直接在IDEA中查看和执行数据库操作,更加的方便快捷。

  1. 打开View -> Tool Windows -> Database窗口

  1. 添加数据库连接,点击+号 -> Data Source -> MySQL,如果需要连接其他类型数据库,按需选择

  1. 填写Host、User、Password、Database等连接信息,填好后点击OK

  1. 连接完成,可以查看DB中数据,双击表名,可以查看表中数据内容

  1. 点击打开Console窗口,可以输入SQL语句并执行

OK, Enjoy it...

IDEA自动生成实体对象

数据表定义好了,手动逐个写对应的映射实体Entity,还是很繁琐?教你让IDEA自动给你生成Entity实体类!

  1. 打开IDEA,点击File -> Project Structure菜单

  1. 打开的窗口中,点击Modules,点击右侧+号按钮,选择JPA菜单

  1. 选中JPA选项,切换下面Default JPA provider为Hibernate,点击OK

  1. IDEA窗口中多了个Persistence窗口,点击打开

  1. 在Persistence窗口中选择项目名称,右键点击Generate Persistence Mapping -> By Database Schema

  1. 弹窗中,选择一个数据源(上一章节中讲解的方式配置IDEA与DB的连接),选择代码生成到的代码目标package位置,设定代码生成类名命名规则(prefix或者suffix),然后勾选需要生成对应代码实体的表,勾选左下角Generate JPA Annotations选项,点击OK

  1. 等一会儿,对应Entity类就会生成到上一步中指定的位置了。

  1. 后续再需要生成新的表对应实体类的时候,直接执行5~6两个步骤即可。

后端也想写出完美界面?必须安排!

不知道大家有没有过这种经历:

  • 作为一名后端程序员,往往有一个很好的idea,想自己开发个小系统或者小项目,但苦于自己只能写后端服务,没法配上一个美美的web界面。花了点时间学了下Vue或者React等前端脚手架之后,勉强写出来的界面又丑又难用,而且同时维护前后端太耗费精力,最后很多优秀的idea都消失在岁月的洪流中。
  • 小型团队,人力有限,没有配齐前后端人员,让后端人员开发蹩脚前端portal,导致整体体验感较差
  • ...

这里开源项目Erupt就要登场了,可以完美解决上述问题,堪称后端程序员的福音。

为什么在SpringData JPA相关教程中提到这个问题呢?因为Erupt的实现思路与JPA ORM的思路非常相似,对于SpringData JPA做数据处理的项目而言,可以非常简单的几个操作就对接到Erupt上!

详细了解的话,可以去开源项目地址了解下,点此了解

  • Erupt的架构图如下:

  • Erupt界面效果如下:

小结

好啦,本篇内容就介绍到这里。

至此,本系列的教程就全部结束啦。通过本系列的几篇文档,为大家由浅入深的对JPA进行了全面的探讨,希望能够让大家对SpringData JPA的学习与使用有一定的帮助。也祝愿大家能够在实际项目中,感受到JPA给我们开发过程带来的便捷。

如果对本文有自己的见解,或者有任何的疑问或建议,都可以留言,我们一起探讨、共同进步。


补充

Spring Data JPA作为Spring Data中对于关系型数据库支持的一种框架技术,属于ORM的一种,通过得当的使用,可以大大简化开发过程中对于数据操作的复杂度。

本文档隶属于《Spring Data JPA用法与技能探究》系列的第5篇。本系列文档规划对Spring Data JPA进行全方位的使用介绍,一共分为5篇文档,如果感兴趣,欢迎关注交流。

《Spring Data JPA用法与技能探究》系列涵盖内容:


我是悟道,聊技术、又不仅仅聊技术~

如果觉得有用,请点个关注,也可以关注下我的公众号【架构悟道】,获取更及时的更新。

期待与你一起探讨,一起成长为更好的自己。

Spring Data JPA系列5:让IDEA自动帮你写JPA实体定义代码的更多相关文章

  1. spring框架应用系列一:annotation-config自动装配

    本文系作者原创,转载请注明出处:http://www.cnblogs.com/further-further-further/p/7716678.html 解决问题 通过spring XML配置文件, ...

  2. spring data实现自定义的repository实现类,实现跟jpa联通

    如果你不想暴露那么多的方法,可以自己订制自己的Repository,还可以在自己的Repository里面添加自己使用的公共方法 当然更灵活的是自己写一个实现类,来实现自己需要的方法 1:写一个与接口 ...

  3. 一步步学习 Spring Data 系列之JPA(一)

    引入: Spring Data是SpringSource基金会下的一个用于简化数据库访问,并支持云服务的开源框架.其主要目标是使得数据库的访问变得方便快捷,并支持map-reduce框架和云计算数据服 ...

  4. SpringBoot第九篇:整合Spring Data JPA

    作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10910059.html 版权声明:本文为博主原创文章,转载请附上博文链接! 前言   前面几章, ...

  5. Spring Data JPA(官方文档翻译)

    关于本书 介绍 关于这本指南 第一章 前言 第二章 新增及注意点 第三章 项目依赖 第四章 使用Spring Data Repositories 4.1 核心概念 4.2 查询方法 4.3 定义rep ...

  6. 学习Spring Data JPA

    简介 Spring Data 是spring的一个子项目,在官网上是这样解释的: Spring Data 是为数据访问提供一种熟悉且一致的基于Spring的编程模型,同时仍然保留底层数据存储的特​​殊 ...

  7. Spring Data JPA 介绍

    Spring-data-jpa的基本介绍:JPA诞生的缘由是为了整合第三方ORM框架,建立一种标准的方式,百度百科说是JDK为了实现ORM的天下归一,目前也是在按照这个方向发展,但是还没能完全实现.在 ...

  8. 【转】Spring Boot干货系列:(一)优雅的入门篇

    转自Spring Boot干货系列:(一)优雅的入门篇 前言 Spring一直是很火的一个开源框架,在过去的一段时间里,Spring Boot在社区中热度一直很高,所以决定花时间来了解和学习,为自己做 ...

  9. Spring Data Commons 官方文档学习

    Spring Data Commons 官方文档学习   -by LarryZeal Version 1.12.6.Release, 2017-07-27 为知笔记版本在这里,带格式. Table o ...

随机推荐

  1. 基础设施即代码(IAC),Zalando Postgres Operator 简介

    Postgres Operator 在由 Patroni 提供支持的 Kubernetes (K8s) 上提供易于运行的高可用性 PostgreSQL 集群.它仅通过 Postgres 清单 (CRD ...

  2. NodeJS学习day2

    今天还是接着学习IO,主要方面是文件路径相关操作 练习代码如下: const fs = require('fs') // 执行C:\CS\Node.js>node .\day2\fsRoad.j ...

  3. 2021.11.03 P6175 无向图的最小环问题

    2021.11.03 P6175 无向图的最小环问题 P6175 无向图的最小环问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 给定一张无向图,求图中一个至少包含 33 ...

  4. 2021.08.09 P7238 迷失森林(树的直径)

    2021.08.09 P7238 迷失森林(树的直径) P7238 「DCOI」迷失森林 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.树的直径两种求法:两次dfs.树 ...

  5. Dependabot 开始支持 pub package 版本检测

    今年年初,我们发布了 Flutter 2022 产品路线图,其中「基础设施建设」这部分提到:2022 年 Flutter 团队将增加对供应链的安全的投入,目的是达到符合基础设施 SLSA 4 级别中描 ...

  6. Python装饰器:套层壳我变得更强了

    Python装饰器:套层壳我变得更强了 Python装饰器:套层壳我变得更强了 关于作用域和闭包可以聊点什么? 什么是作用域 什么是闭包 装饰器:套层壳我变得更强了 参考资料 昨天阅读了<Pyt ...

  7. Envoy熔断限流实践(二)Rainbond基于RLS服务全局限流

    Envoy 可以作为 Sevice Mesh 微服务框架中的代理实现方案,Rainbond 内置的微服务框架同样基于 Envoy 实现.本文所描述的全局限速实践也是基于 Envoy 已有的方案所实现. ...

  8. hibernate查询不到关联对象列表-fetchType的选择

    概述 昨天排查问题的时候,发现使用hibernate关联对象时,订单实体类对象死活无法获取关联的订单明细列表 Order order = orderDao.findById(201L); //明明数据 ...

  9. 超详干货!Linux 环境变量配置全攻略

    点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! Linux环境变量配置 在自定义安装软件的时候,经常需要 ...

  10. 如何查看Linux进程详情?(ps命令)

    点击关注上方"开源Linux", 后台回复"读书",有我为您特别筛选书籍资料~ 1. ps是什么? 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是 ...