Sprint Boot学习路线3

小万哥
• 阅读 336

嵌入式服务器

Spring Boot 的嵌入式服务器功能是一项方便而强大的功能,它允许你在应用程序中直接运行 Web 服务器,无需将其部署到单独的独立 Web 服务器中。这使得开发、测试和部署 Web 应用程序变得容易,而且它还是轻量级的、易于启动和停止的,易于配置。

Hibernate

Hibernate是一个Java框架,它提供了对象关系映射到面向对象模型到关系数据库。这意味着Hibernate提供了从Java类到数据库表的映射,同时还提供了数据查询和检索功能。

事务

事务只是表示工作单元。在这种情况下,如果一步失败了,整个事务就会失败 (这被称为原子性)。一个事务可以由ACID属性 (原子性、一致性、隔离性和持久性) 来描述。

在 hibernate 框架中,我们有 Transaction 接口来定义工作单元。它对事务实现 (JTA、JDBC) 进行了抽象。

关系

使用Hibernate,如果我们想在两个实体之间建立关系,则表之间必须存在外键关系,我们称之为引用完整性。拥有对象之间的关系的主要优点是,我们可以在一个对象上执行操作,然后将相同的操作传递到数据库中的另一个对象上。

以下是Hibernate中可以在对象之间拥有的四种类型的关系。

  • 一对一
  • 多对一
  • 多对多
  • 一对多

实体生命周期

在Hibernate中,我们可以创建一个实体的新对象并将其存储到数据库中,也可以从数据库中获取实体的现有数据。这些实体与生命周期相关,每个实体对象都通过生命周期的各个阶段。

Hibernate生命周期主要有四种状态:

  • 瞬态状态
  • 持久状态
  • 分离状态
  • 已移除状态

Spring Data

Spring Data是一个用于在Spring应用程序中访问数据的项目集合。它提供了一个通用的接口,用于处理各种类型的数据存储,包括关系数据库、NoSQL数据存储和基于云的数据服务。Spring Data的目标是通过在不同的数据存储和数据访问技术之间提供一致的高级存储库编程模型,简化Spring应用程序中的数据访问。这可以帮助开发人员编写更少的样板代码并专注于业务逻辑,同时仍能利用底层数据存储的全部功能。

Spring Data JPA

Spring Data JPA是一个库,它使得在Spring应用程序中实现基于Java Persistence API (JPA)的存储库(一个“DAO”缩写)变得容易。它是在JPA之上的一个抽象,允许您使用更简单和更方便的API执行对数据库的CRUD(创建、读取、更新、删除)操作。Spring Data JPA还提供了其他功能,如分页、动态查询生成等。

Spring Data Mongodb

Spring Data for MongoDB是Spring Data项目的一部分,旨在为各种新数据存储库提供一个熟悉且一致的基于Spring的编程模型,同时保留库特定的功能和能力。

Spring Data MongoDB项目提供了与MongoDB文档数据库的集成。Spring Data MongoDB的关键功能领域是提供一个POJO中心模型,用于与MongoDB DBCollection交互,并轻松编写存储库风格的数据访问层。

Spring Data JDBC

Spring Data JDBC是Spring Data项目的一部分,它提供了使用JDBC(Java Database Connectivity)与关系型数据库进行交互的支持。它旨在提供一种简单且一致的编程模型,以使用JDBC与数据库进行交互,同时仍然允许在需要时使用JDBC的全部功能。Spring Data JDBC提供了一组抽象和实用程序类,简化了与数据库的工作,例如用于执行SQL查询的简单模板类,用于实现数据访问对象(DAO)的存储库抽象,以及支持查询结果的分页和排序。它适用于Java和Kotlin。

最后

为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:

公众号搜索Let us Coding知乎开源中国CSDN思否掘金InfoQ简书博客园慕课51CTOhelloworld腾讯开发者社区阿里开发者社区

看完如果觉得有帮助,欢迎点赞、收藏关注

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
PPDB:今晚老齐直播
【今晚老齐直播】今晚(本周三晚)20:0021:00小白开始“用”飞桨(https://www.oschina.net/action/visit/ad?id1185)由PPDE(飞桨(https://www.oschina.net/action/visit/ad?id1185)开发者专家计划)成员老齐,为深度学习小白指点迷津。
Wesley13 Wesley13
3年前
VBox 启动虚拟机失败
在Vbox(5.0.8版本)启动Ubuntu的虚拟机时,遇到错误信息:NtCreateFile(\\Device\\VBoxDrvStub)failed:0xc000000034STATUS\_OBJECT\_NAME\_NOT\_FOUND(0retries) (rc101)Makesurethekern
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Wesley13 Wesley13
3年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Wesley13 Wesley13
3年前
MBR笔记
<bochs:100000000000e\WGUI\Simclientsize(0,0)!stretchedsize(640,480)!<bochs:2b0x7c00<bochs:3c00000003740i\BIOS\$Revision:1.166$$Date:2006/08/1117
Stella981 Stella981
3年前
Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)
本文首发于:Jenkins中文社区(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fjenkinszh.cn)!huashan(https://oscimg.oschina.net/oscnet/f499d5b4f76f20cf0bce2a00af236d10265.jpg)
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_