SpringBoot操作数据库jpa--【JSB系列之006】

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: SpringBoot操作数据库jpa--【JSB系列之006】

环境及工具:

环境 win11
工具 idea 2017
jdk 1.8
数据库 mysql5.5
maven 3.2.1
项目导入方式 maven 导入
数据库前端工具 mysql-front (navicat 也可以)

数据库前端工具:mysql-front (navicat 也可以)主要是这些跟PHPstudy 2018 整合了,所以有的时候懒的打开navicat

1 JPA 是何方神圣?

JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 [1] 

Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java EE和Java SE应用开发工作;其二,Sun希望整合ORM技术,实现天下归一。

2 JPA有两个重要的儿子Hibernate ,iBATIS

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装。

hibernate劣势

  • 难以使用数据库的一些功能
  • 满足不了程序对cache的需求
  • 耦合度高
  • debug难
  • hibernate更新大批量数据

尤其是第5点,让当时的很多程序员直接国粹级开口了。

iBATIS

下面是使用iBATIS的一些优势:

  • 支持存储过程:iBATIS的SQL封装以存储过程的形式,使业务逻辑保持在数据库之外,应用程序更易于部署和测试,更便于移植。
  • 支持内嵌的SQL:预编译器不是必需的,并有完全访问所有的SQL语句的特性。
  • 支持动态SQL: iBATIS特性提供基于参数动态生成SQL查询。
  • 支持O / RM:iBATIS支持许多相同的功能作为一个O / RM工具,如延迟加载,连接抓取,缓存,运行时代码生成和继承

3 JPA项目的目录总览

其实,就本质而言,JPA的使用在外国要多一些,而国内用的最多的是mybatis, 如果就说快速应用,你不看JPA直接看mybatis 也是一点问题没有的。

但是万一mybatis 再升级呢? 或者说其它框架杀入呢? 目前来看,还得是继承JPA的这些接口规范,所以,学习JPA是不是磨刀不误砍柴工,还是有力无用用,这个就不得而知了。

这么说吧,玩过hibernate ,mybatis几年的,不看JPA也能跟着做JPA的项目。毕竟是同根生。

Controller 层,Service 层不再说了,跟SB系列之005里一样的。

现在看entity

很清楚的映射关系。

再打开mysql (博主使用的是mysql-front )

可以看到类SysAssetType与表sys_asset_type对应,字段与数据库表里的字段也是一一对应

这就叫做OR映射,不管是hibernate 还是mybatis 都是这样的一种关系。

那么数据是如何进入到数据库里的?

咦,DAO并没有SAVE,

那JPA事先写好了?(一追踪一下,确实如此,你也不用管是父类还是父父类了。)

普通的增删改查都有了。

下面的跟踪过程 看自己的JAVA能力,量力而行。

所以,DAO里并不需要写这些父类里有的方法,可以直接使用!!

这样使用者的DAO写的方法大多数都是一些特定的方法,比如按名字查询等。

直接运行起来。

直接在浏览器里访问 http://localhost:8080/save

页面上无反应,查看数据库(记得要点左上的刷新按钮)

然后就可以看到数据了。

验证的方式很熟悉,也很原始,事实上这也是最方便快捷的方式之一。

不过,在一些大的公司里 sysout 的这种输出要注释,甚至要删除掉才能发版,有一些代码检查工具对注释掉的sysout 也警告,有点让人无语。不过这种简单测试也就是用一遍就够了,用完就删掉也是正常的。

此博客配套的代码资源:

SpringBoot知识范围-学习步骤【JSB系列之000】

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
Java 数据库连接 测试技术
SpringBoot入门 - 添加内存数据库H2
SpringBoot入门 - 添加内存数据库H2
66 3
SpringBoot入门 - 添加内存数据库H2
|
2月前
|
Java 关系型数据库 数据库连接
使用 Spring Boot 执行数据库操作:全面指南
使用 Spring Boot 执行数据库操作:全面指南
139 1
|
2月前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
72 13
|
2月前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
57 4
|
2月前
|
存储 安全 Java
springboot当中ConfigurationProperties注解作用跟数据库存入有啥区别
`@ConfigurationProperties`注解和数据库存储配置信息各有优劣,适用于不同的应用场景。`@ConfigurationProperties`提供了类型安全和模块化的配置管理方式,适合静态和简单配置。而数据库存储配置信息提供了动态更新和集中管理的能力,适合需要频繁变化和集中管理的配置需求。在实际项目中,可以根据具体需求选择合适的配置管理方式,或者结合使用这两种方式,实现灵活高效的配置管理。
27 0
|
3月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,包括版本兼容性、安全性、性能调优等方面。
198 1
|
2月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。首先,创建并配置 Spring Boot 项目,实现后端 API;然后,使用 Ant Design Pro Vue 创建前端项目,配置动态路由和菜单。通过具体案例,展示了如何快速搭建高效、易维护的项目框架。
128 62
|
19天前
|
存储 JavaScript 前端开发
基于 SpringBoot 和 Vue 开发校园点餐订餐外卖跑腿Java源码
一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合,但并不是一个完全分离的项目。 前端视图通过JS的方式引入了Vue和Element UI,既能利用Vue的快速开发优势,
101 13
|
27天前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
2月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,帮助开发者提高开发效率和应用的可维护性。
120 2