日用放大器

news/2024/9/18 5:54:24/ 标签: oracle, 数据库

JPA 相关概念

ORM 框架

(Object Relational Mapping) 建立 Java 程序实体类与数据库表之间的映射关系。使用 ORM 框架进行编程 Java 程序会根据开发者配置,在运行时自动把数据对象持久化到数据库中,比直接使用 JDBC 编程更为方便和强大。

常见的 ORM 框架有 Hibernate, MyBatis 等。

JPA 规范

(Java 持久性 API)Java 程序和数据库连接的 Java EE 标准,本质上是一种 ORM 规范。使用户不必在 Java 程序中书写 SQL 语句就能直接把数据对象持久化到数据库中,由数据库厂商负责具体实现。

JDBC 和 JPA 的区别
  • JDBC 是面向 SQL 的规范和接口,用户仍需要在 java 程序中书写 SQL 语句。
  • JPA 是直接面向数据对象的规范和接口,可以通过直接操作对象来实现持久化,大大简化了操作的繁杂度。

P.S. Hibernate 是符合 JPA 规范的,而 MyBatis 却不符合,因为 MyBatis 还需要书写 SQL 语句。

SpringBoot 中 JPA 的使用 - 简书


Spring JPA

Spring 框架中提供了对数据操作的框架 SpringData ;SpringData 框架下则提供了基于 JPA 标准操作数据的模块 SpringData JPA 。

导入 javax.persistence.Column; 导入 javax.persistence.Entity; 进口 javax.persistence.Id; 导入 javax.persistence.Table;

实体类

@Entity声明实体类,自动对应数据库表(必选)

@Table(name = "AUTH_USER")声明了数据库实体对应的表名,如果没有默认表名和实体名一致。

属性

@Id声明属性对应数据库字段是主键。

@Column(length = 32)用来声明实体属性的表字段的定义。

  1. name - 属性对应数据库字段名,默认和属性名称一致。
  2. length - 属性对应数据库字段长度,默认 255。
  3. 属性对应数据库字段类型会自动推断。
@Entity
@Table(name = "AUTH_USER")
public class UserDO {@Idprivate Long id;@Column(length = 32)private String name;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}

 

运行时,系统自动将数据表给我们建好了。

我们要实现一个增加、删除、修改、查询功能的持久层服务,那么我只需要声明一个接口,这个接口继承 org.springframework.data.repository.Repository<T, ID> 接口或者他的子接口就行。这里为了功能的完备,我们继承了 org.springframework.data.jpa.repository.JpaRepository<T, ID> 接口。其中 T 是数据库实体类,ID 是数据库实体类的主键。 然后再简单的在这个接口上增加一个 @Repository 注解就结束了。

@Repository
public interface UserDao extends JpaRepository<UserDAO, id> {
}

UserDO userDO = new UserDO(); userDO.setId(1L); userDO.setName(“风清扬”);


http://www.ppmy.cn/news/1525903.html

相关文章

Flume:大规模日志收集与数据传输的利器

Flume&#xff1a;大规模日志收集与数据传输的利器 在大数据时代&#xff0c;随着各类应用的不断增长&#xff0c;产生了海量的日志和数据。这些数据不仅对业务的健康监控至关重要&#xff0c;还可以通过深入分析&#xff0c;帮助企业做出更好的决策。那么&#xff0c;如何高效…

Spring Boot 常用注解

1. 基础 Spring 注解 Component 标记一个类作为 Spring IoC 容器的一个组件。Repository 标记一个 DAO 类&#xff0c;同时提供了异常转换机制。Service 标记业务逻辑层的服务类。Controller 标记一个 Web 层的控制器类。RestController 结合了 Controller 和 ResponseBody&am…

鸿蒙OS Service Ability

鸿蒙OS Service模板的Ability基本概念 基于 Service 模板的 Ability&#xff08;以下简称“Service”&#xff09;主要用于后台运行任务&#xff08;如执行音乐播放、文件下载等&#xff09;&#xff0c;但不提供用户交互界面。Service 可由其他应用或 Ability 启动&#xff0…

【Python机器学习】循环神经网络(RNN)——对RNN进行预测

目录 有状态性 双向RNN 编码向量 如果有一个经过训练的模型&#xff0c;接下来就可以对其进行预测&#xff1a; sample_1""" I hate that the dismal weather had me down for so long,when will it break! Ugh,when does happiness return? The sun is bl…

stm32单片机个人学习笔记3(GPIO输出)

前言 本篇文章属于stm32单片机&#xff08;以下简称单片机&#xff09;的学习笔记&#xff0c;来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记&#xff0c;只能做参考&#xff0c;细节方面建议观看视频&#xff0c;肯定受益匪浅。 STM32入门教程-2023版 细…

a√斗地主之顺子

题目描述 在斗地主扑克牌游戏中&#xff0c;扑克牌由小到大的顺序为:3,4,5.6,7.8,9,10,J,Q,K,A,2&#xff0c;玩家可以出的扑克牌阵型有:单张、对子、顺子、飞机、炸弹等。 其中顺子的出牌规则为:由至少5张由小到大连续递增的扑克牌组成&#xff0c;且不能包含2。 例如:(3.4.…

【目标检测数据集】车辆分类数据集1880张7类VOC+YOLO(含摩托车、救护车、消防车、警车、警用摩托车、轿车、大车)

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1883 标注数量(xml文件个数)&#xff1a;1883 标注数量(txt文件个数)&#xff1a;1883 标注…

智能知识库企业微信助手,更智能、体验更好!

本文由 ChatMoney团队出品 为了增强企业内部知识的传递和共享效率&#xff0c;最近花了两周时间测试Chatmoney知识库 企微客服助手模式&#xff0c;测试效果让我很惊喜&#xff01; 对话引用知识库内容&#xff0c;Chatmoney也会从逻辑上补全输出结果,智能知识库企微客服助手方…

VMware Fusion虚拟机Mac版 安装Ubuntu操作系统教程

Mac分享吧 文章目录 下载镜像地址&#xff1a;[www.macfxb.cn](http://www.macfxb.cn)一、Ubuntu安装完成&#xff0c;软件打开效果二、Mac中安装Ubuntu虚拟机1️⃣&#xff1a;下载镜像2️⃣&#xff1a;创建虚拟机3️⃣&#xff1a;虚拟机设置4️⃣&#xff1a;虚拟机安装5️…

cesium+vue3实体entity学习

官方文档链接&#xff1a;Cesium中文api文档 | Index - Cesium Documentation 官方示例链接:Cesium Sandcastle vue for cesium:A Vue 3 based component library of CesiumJS for developers | Vue for Cesium (zouyaoji.top) package.js: {"name": "demo&q…

闲云野记:24915

一、前言 本次回顾3个知识点&#xff1a;进程地址空间、JavaScript项目的影响优化、Vue 3 的应用路由。 二、进程地址空间 进程内核数据结构&#xff08;task_struct&#xff09;代码&#xff08;只读的&#xff09;和数据 &#xff1b;进程具有独立性&#xff1a;多进程之间…

Android 蓝牙三方和动态权限三方

记录一下最近用到的简单的框架 蓝牙 FastBle&#xff1a;Android BLE通信库的介绍与高级用法 - 简书 https://github.com/Jasonchenlijian/FastBle 动态权限: GitHub - googlesamples/easypermissions: Simplify Android M system permissions 位置权限举例,arrayOf中多个…

【题解】【枚举】——First Step (ファーストステップ)

【题解】【枚举】——First Step ファーストステップ First Step (ファーストステップ)题目背景题目描述输入格式输出格式输入输出样例输入 #1输出 #1 提示 1.思路解析2.AC代码 First Step (ファーストステップ) 原题在洛谷上 题目背景 我们 Aqours&#xff0c;要第一次举办…

一分钟了解小程序的等保测评

小程序作为移动互联网应用的一种形式&#xff0c;其安全性和合规性受到了国家法律法规的严格要求。根据《中华人民共和国网络安全法》和《信息安全技术 个人信息安全规范》等相关法律法规&#xff0c;小程序在开发和运营过程中需要进行等级保护测评&#xff08;等保测评&#x…

Pyspark下操作dataframe方法(2)

文章目录 Pyspark dataframecount 统计数量createGlobalTempView 创建全局视图表createOrReplaceGlobalTempView 创建全局视图表createTempView 创建临时视图createOrReplaceTempView 创建临时视图crossJoin 返回笛卡尔积cube 维度统计describe 统计列的基本信息distinct 去重d…

使用 Vue.js 将数据对象的值放入另一个数据对象中

1.直接赋值 最简单的方法是直接赋值。这种方法适用于将一个对象的值直接复制到另一个对象的属性中。 示例代码 <template><div><p>原始数据对象: {{ originalData }}</p><p>目标数据对象: {{ targetData }}</p><button click"c…

Mac 上终端使用 MySql 记录

文章目录 下载安装终端进入 MySql常用操作查看数据库选择一个数据库查看当前选择的数据库Navcat 打开提示报错参考文章 下载安装 先下载社区版的 MySql 安装的过程需要设置 root 的密码&#xff0c;这个是要进入数据库所设定的&#xff0c;所以要记住 终端进入 MySql 首先输…

【LeetCode 算法笔记】739. 每日温度

目录 问题描述暴力解法栈 问题描述 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在该位置用 0…

使用Rustup快速无缝升级Rust

rust update 升级 Rustup 是 Rust 官方的跨平台 Rust 安装工具。我们可以使用rustup升级rust版本 rustup updaterustup is not installed at ‘E:\cargo’ 意思是说’E:\argo’未安装rustup 将原来C:\Users\用户名\.cargo\bin下的文件复制到新的E:\cargo\bin $ rustup upda…

MyCat管理及监控

目录 MyCat原理 MyCat管理 MyCat-web 安装Zookeeper 安装Mycat-web MyCat原理 在MyCat中&#xff0c;当执行一条SQL语句时&#xff0c;MyCat需要进行SQL解析、分片分析、路由分析、读写分离分析 等操作&#xff0c;最终经过一系列的分析决定将当前的SQL语句到底路由到那几…