- 博客(278)
- 收藏
- 关注
原创 08. Java 事务
MySQL 中事务(Transaction)的定义是对于一个或者多个 SQL 语句,要么全部执行成功,要么一个都不执行成功。在实际应用场景中,有很多需要事务的场景,例如在电商网站,顾客下单、付款以及商品扣减库存就应该在一个事务中执行,如果不能保证事务特性,就可能出现用户已经下单并且成功付款,但是在扣减库存逻辑出现异常,发货失败的情况。所以事务中的某个环节出现异常,之前执行的所有 SQL 语句都应该回滚。
2024-07-26 18:06:58 14
原创 17. Hibernate 双向多对多关联映射
通过本节课程的学习,你将发现关联对象之间的微妙关系。相信这种关系对你更深入地认识HIbernate有很大的帮助。多对多双向关联映射中哪一方是关系维系者;级联操作与关系维系者。
2024-07-26 10:17:09 473
原创 07. Java 索引
对于常见的应用系统,读的流量远远高于写的流量,比如电商网站,商家在数据库中写入商品的价格和库存之后,访问页面的顾客会产生大部分的读流量。所以常见的现象是当应用系统的流量逐渐增加时,写操作不会成为数据库的性能瓶颈,但是复杂查询语句消耗的查询时间会越来越长,读操作更容易触碰数据库的查询性能瓶颈。MySQL 自身为了优化查询效率,更快的查询目标集合,定义了索引,也就是常用的 "键"(Key),MySQL 中的索引是单独存储在磁盘上的数据结构,使用索引可以快速查询满足特定条件的记录。
2024-07-25 10:57:46 612
原创 16. Hibernate 双向多对多关联映射
通过本节课程的学习,你将发现关联对象之间的微妙关系。相信这种关系对你更深入地认识HIbernate有很大的帮助。多对多双向关联映射中哪一方是关系维系者;级联操作与关系维系者。
2024-07-25 10:47:32 474
原创 06. Java 左右连接
在之前的章节谈到了数据库设计范式,遵循范式之后,数据会被组织成不同的结构分散存储在不同的表内,例如所有学生会被存储在一张学生表,所有学生的成绩会被存储在一张成绩表,如果我们同时需要两张表的数据,就需要计算两张表间数据的映射关系,MySQL 数据库中最常用的方法就是连接。
2024-07-24 11:06:59 35
原创 14. Hibernate 一对多双向关联映射
本节课程和大家一起聊聊一对多关联映射。通过本节课程,你将了解到:如何实现一对多关联映射;如何实现双向一对多关联映射;关联映射中的级联操作。
2024-07-24 10:59:17 922
原创 05. Java 三大范式
在面向对象语言中涉及到诸多的设计模式,例如单例模式、适配器模式,设计模式的存在是为了让系统中的代码逻辑更加清晰,帮助开发者建立更加健壮的系统,同时满足易修改特性和易扩展特性。数据库设计时也存在类似设计模式的通用规范,被称为数据库范式。满足范式的数据库是简洁的,表与表之间的关系也清晰且明确,不会存储过多的冗余信息,在增删改查的时候也可以避免冗余的操作。
2024-07-23 10:53:52 159
原创 12. Hibernate 模板设计模式
如何运用模板设计模式重构 Hibernate 操作流程;持久化对象与序列化接口;OOP中有一个编码原则 :写仅写一次。翻译过来就是,不要重复,要重用。答案是:使用模板设计模式进一步封装Hibernate的操作。在真实项目中,Hibernate仅仅只是完成项目中的一部分工作,需要和其它,如Spring等框架联合工作,一起承担整体项目的开发。Spring框架中就提供的有Hibernate模板对象。一个常规的、频繁的操作代码中,大部分代码不需要变动,只有小部分代码需要根据需求变动。
2024-07-22 14:15:06 1227
原创 .NET单元测试使用AutoFixture按需填充的方法总结
是一个.NET库,旨在简化单元测试中的数据设置过程。通过自动生成测试数据,它帮助开发者减少测试代码的编写量,使得单元测试更加简洁、易读和易维护。AutoFixture可以用于任何.NET测试框架,如xUnit、NUnit或MSTest。如果直接使用生成的User对象,他会默认给你填充Id为随机整数,Name和Email为一串Guid,显然这里的邮箱地址生成就不能满足要求,并不是一个有效的邮箱格式那么如何让AutoFixture按需生成有效的测试数据呢?
2024-07-19 15:30:59 730
原创 04. Java 数据类型
MySQL 中支持的数据类型从整体上可以分为数值类型和日期时间类型,其中数值类型可以分为整数类型、浮点数类型、定点数类型和位类型。整数类型包含常见的 SMALLINT、MEDIUMINT、INT、BIGINT,浮点数类型主要是 FLOAT 单精度浮点数类型和 DOUBLE 双精度浮点数类型。日期类型也有 DATE、TIME、YEAR、DATETIME、TIMESTAMP 类型。关于整数类型和浮点数类型存在一些比较常见的误区,经常被面试官考察。
2024-07-19 10:15:33 47
原创 10. Hibernate Lazy&Fetch
本节和大家一起聊聊Hibernate中的Lazy和Fetch的区别,及两者适合的开发场景。什么是延迟加载;延迟加载的意义。什么是延迟加载?前面的测试结论已经给出了答案。使用Hibernate获取数据时,有时,Hibernate并不急着去数据库,而是等到开发者真正需要数据时才会跑一趟数据库。load()方法 和get()load()支持延迟加载(Lazy意思是,别急,你需要时我再去拿数据。如果没有拿到数据,则会抛出异常。get()方法不支持延迟加载,而是(Fetch。
2024-07-19 10:07:22 578
原创 09. Hibernate 常用的数据库操作方法
本节课程聊聊如何使用Session完成基本数据操作。如何实现查询;如何实现保存和更新。本节课程以体验式的方式感受了Session为开发者提供的常用方法。对于类似的操作,Hibernate会有备选方法选择,其内在的具体细节将在后续课程一一揭晓。不要质疑Hibernate为什么要提供看似雷同的方法,真实场景中的需求要比Hibernate所能想到的更复杂。Hibenate只是想以周全的态度为开发者保驾护航。Hibernate对开发者爱得深,细言碎语也就多!!
2024-07-18 14:21:19 668
原创 08. Hibernate Session (会话对象)
本节课程将和大家一起聊聊 Hibernate 的核心组件之一:Session对象。创建 Session 对象的 2 个方法;线程上下文的作用。
2024-07-18 14:16:38 1167
原创 07. Hibernate 会话工厂(SessionFactory)
Hibernate的核心价值观是:开发者们!做你们应该做的。脏的、累的、没技术含义的由本尊来做。本节课和大家一起好好的聊聊Hibernate的核心组件之一:会话工厂(会话工厂的设计要求;会话工厂的核心功能。
2024-07-17 17:31:40 1314
原创 06. Hibernate 中主键映射的助攻
本节课和大家一起聊聊Hibernate中的主键策略。什么是主键策略及主键生成器的种类;如何映射复合主键。关系数据库中,主键可指定一个字段实现,也可指定多个字段实现,这样的主键叫复合主键。从数据库表设计原则分析,尽可能少用复合主键,但并不排除需要使用的场景。对使用Hibernate在应用程序中,如何映射表中的复合主键?将嵌入类注解为,并将实体类的属性注解为@Id;将实体类的属性注解为将实体类注解为@IdClass,并将该实体类所有属于主键的属性都注解为@Id实体类:使用@entity注解的类;
2024-07-17 17:30:17 1087
原创 05. Hibernate 使用注解做元数据
本节课将和大家一起讲解元数据概念,通过注解的方式实现Hibernate操作数据库。这一切,会让工作变得更加简单、直接!!什么是元数据;Hibernate 中有哪些注解;JPA 是什么。先举一个生活中的例子:你买了一袋面粉,想用来揉几个包子,发几个馒头……可以把面粉当成原始数据,包子、馒头是你运用你的技能加工之后的成品数据。这里的技能相当于开发者的编程能力。但是!元数据到底是什么!!!买面粉的时候面粉袋上有很多说明,面粉出自何地、面粉的净重量有多少……
2024-07-16 14:35:22 904
原创 04. Hibernate 主配置文件
使用Hibernate时,需要经常修改主配置文件中的信息, 这些信息至关重要,允许开发者按自己的需求订制使用Hibernate。主配置文件的核心作用;主配置文件中的可配置项有哪些。
2024-07-16 10:51:10 1012
原创 03. Java 条件查询
在 MySQL 中使用 select 查询语句的时候,一般都会加上 where 语句或者 limit 语句限定查询结果的范围,两种子句都是过滤的作用。另外还有和 group by 语句配合使用的 having 限制条件。区分 where 和 having 语句的作用也是比较基础的题目。
2024-07-15 14:24:06 256
原创 03. Hibernate 使用初体验之操作流程
Hibernate神奇之处在于只需要简简单单的几行代码,就能完成原生 JDBC 中复杂的操作。初步认识、了解 Hibernate 核心组件各自的基础功能;编写 Hibernate 程序的流程。
2024-07-15 10:28:44 874 2
原创 02. Hibernate 初体验之持久化对象
本节课程让我们一起体验Hibernate的魅力!编写第一个基于Hibernate的实例程序。Hibernate 的版本发展史;持久化对象的特点。为了更好地讲解这个内容,这个初体验案例分上下2个章节来讲解。
2024-07-13 14:00:00 828 1
原创 01. Hibernate 教程简介
大家好!本节课将和大家一起学习鼎鼎有名的Hibernate 框架。Hibernate 的功能 、特点;Hibernate 产生的背景;并初步探讨编写 Jdbc 框架的基础构建思路。要真正了解、认识Hibernate, 先切换一下镜头,回到没有Hibernate之前的世界,一起来了解框架的演变过程(有需求才会有市场嘛)。程序的本质是什么?-----------------------我是等待你答案的中划线-----------------------
2024-07-13 10:30:00 597
原创 数据提取分析利器:Python接口自动化测试助力工作效率提升
Jmespath(JSON Messaging Path)是一种用于查询和转换JSON数据的查询语言,专为JSON数据设计。它允许开发者使用简洁的表达式来提取、筛选和转换JSON数据中的元素,使得开发者能够轻松地提取JSON数据中的元素,并执行各种转换操作。与XPath类似,JMESPath的语法直观易懂,学习成本较低。Python Jmespath库为处理JSON数据提供了一种简洁而强大的解决方案。其简洁的语法、强大的功能以及跨平台的支持使得它成为处理复杂JSON数据的理想选择。
2024-07-12 14:41:15 487
原创 教你使用GitLab实现文件自动备份和邮件提醒功能
为预防gitlab出现故障,每天定时备份,备份完成后把之前的备份文件删除,备份成功或失败的时候自动发送邮件提醒,这里的gitlab为docker部署。把gitlab_auto_backup.sh文件放到服务器上,这里放到目录 /home/gitlab/gitlab_auto_backup.sh。以上就是关于gitlab自动定时备份文件备份失败发送邮件功能实现的全部内容,更多相关gitlab自动定时备份内容请搜索码云笔记以前的文章。把 /tmp/test.txt的内容作为邮件内容发送。
2024-07-12 14:27:08 397
原创 02. 存储引擎
在校招或者社招面试中,无论你是 Java 后端、Cpp 后端、Python 后端,面试官都会详细地考察各种语法细节、框架知识,但是大多数候选人入职之后,都会体会到 "面试造火箭,上班拧螺丝"。面试时我们熟悉各种知识细节,入职后却发现大部分工作都是重复的 CRUD(Create - 增加,Retrieve - 查询,Update - 更新,Delete - 删除),这种现象其实很正常。
2024-07-11 17:42:59 185
原创 01. 课程简介
本课程的核心内容可以分为三个部分,分别是需要理解记忆的计算机底层基础,后端通用组件以及需要不断编码练习的数据结构和算法。计算机底层基础可以包含计算机网络、操作系统、编译原理、计算机组成原理,后两者在面试中出现的频率很少,课程主要关注网络和系统两个模块,计算机网络模块主要介绍了常见的 TCP 协议、HTTP/HTTPS 协议,操作系统模块主要介绍了操作系统的进程和线程、内存管理的页面置换算法等高频题。后端通用组件主要分为存储持久化数据的数据库,存储临时数据的缓存以及通信中间件。
2024-07-11 17:36:47 185
原创 26. Java 多线程售票案例
本节内容主要是使用 Java 的锁机制对多线程售票案例进行实现。售票案例多数情况下主要关注多线程如何安全的减少库存,也就是剩余的票数,当票数为 0 时,停止减少库存。本节内容除了关注车票库存的减少,还会涉及到退票窗口,能够更加贴切的模拟真实的场景。掌握多线程的售票机制模型,在后续的工作中如果涉及到类似的场景,能够第一时间了解场景的整体结构;使用 Condition 和 Lock 实现售票机制,巩固我们本章节内容所学习的新的锁机制。
2024-07-10 15:31:40 1146
原创 25. Java 锁机制之 Condition 接口
本节内容主要是对 Java 锁机制之 Condition 接口进行讲解,Condition 接口是配合 Lock 接口使用的,我们已经学习过 Lock 接口的相关知识,那么接下来对 Condition 接口进行讲解。Condition 接口简介,这是我们认识 Condition 接口的基础;Condition 接口定义,整体上先了解 Condition 接口所包含的方法,为基础内容;Condition 接口所提供的方法与 Object 所提供的方法的区别与联系,此部分为本节的重点之一;
2024-07-10 15:28:28 537
原创 24. Java 读写锁 ReentrantReadWriteLock
本节内容主要是对 Java 读写锁 ReentrantReadWriteLock 进行讲解,本节内容几乎全部为重点知识,需要学习者对 ReentrantReadWriteLock 进行理解和掌握。ReentrantReadWriteLock 简单介绍,对 ReentrantReadWriteLock 进行一个总体的概括;ReentrantReadWriteLock 的类结构,从 Java 层面了解 ReentrantReadWriteLock;
2024-07-09 15:22:58 981
原创 23. Java 锁的可重入性验证
本节内容主要是对 Java 锁的可重入性进行验证,锁的可重入性的设计是避免死锁非常好的设计思想。什么是锁的可重入性,这是本节课程的基础内容;了解可重入锁与非可重入性锁的不同之处,以凸显可重入性锁的优势所在,为本节基础内容;了解什么情况下使用可重入锁,是本节的重点内容之一;synchronized 关键字验证锁的可重入性试验,为本节核心内容之一;ReentrantLock 验证锁的可重入性试验,为本节核心内容之一;
2024-07-09 15:03:15 900
原创 22. Java ReentrantLock 使用
本节内容主要是对 ReentrantLock 的使用进行讲解,之前对于 Lock 接口进行了讲解,ReentrantLock 是 Lock 接口的常用实现子类,占据着十分重要的地位。ReentrantLock 基本方法的使用,即 lock 与 unlock 方法的使用,这是最基础的方法使用,为重点内容;ReentrantLock lockInterruptibly 与 tryLock 方法的使用,也是经常使用到的方法,为本节重点内容;
2024-07-08 11:35:50 913
原创 21. Java AQS 原理
本节内容主要是对 AQS 原理的讲解,之所以需要了解 AQS 原理,是因为后续讲解的 ReentrantLock 是基于 AQS 原理的。本节内容相较于其他小节难度上会大一些,基础薄弱的学习者可以选择性学习本节内容或者跳过本节内容。了解什么是 AQS,这是认识 AQS 原理的前提,是本节的基础知识点;了解 AQS 提供的两种锁功能,对其有一个全局的了解;了解 AQS 的内部框架原理结构,这是本节课程的核心所在,其他所有的知识点讲解都是围绕这一知识点的;
2024-07-08 11:33:13 1090
原创 Java 乐观锁与悲观锁
乐观锁与悲观锁的概念,之前有所讲解,这里用很小的篇幅进行知识的回顾,巩固;乐观锁与悲观锁的使用场景介绍,通过理解悲观锁与乐观锁不同的风格,理解什么场景下需要选择合适的锁,为本节的重点内容之一;了解乐观锁的缺点,乐观锁有自己的特定的缺陷,不同的锁都有自己的优点与缺点;了解乐观锁缺陷的解决方式,作为本节内容的重点之一;通过引入 Atomic 操作,实现乐观锁,为本节内容的核心,通过对比 synchronized 的实现,用两种锁机制实现同一个需求。
2024-07-05 15:45:00 743 2
原创 19. Java 并发锁之 Lock 接口
Lock 接口的介绍,这是我们开始认识 Lock 的敲门砖,本节课程的基础知识;Lock 接口相比于 synchronized 关键字的优点,这也是我们学习 Lock 接口的意义所在;Lock 接口的常用方法介绍,了解 Lock 接口中的常用方法,是本节内容的核心知识点。Lock 是一个接口,并非一个实现类,本节内容主要对 Lock 接口进行一个意义、结构及方法的介绍,为后续讲解 Lock 接口的实现类常用锁奠定一个扎实的基础。Lock 接口的诞生。
2024-07-05 11:29:21 873
原创 18. JAVA 多线程锁介绍
本节内容主要是对 Java 多线程锁进行介绍,是对锁的一个全方位的概述,为我们对后续深入学习不同的锁的使用方法奠定一个良好的基础。乐观锁与悲观锁的概念,以及两种锁之间的区别,这是并发编程中经常涉及到的知识点,这是本节课程的核心知识点,是热度很高的必须要掌握的知识,后续还会有专门的小节进行详细讲解;公平锁与非公平锁的介绍,并发编程中经常涉及到的知识点,需要掌握其概念与区别;独占锁与共享锁的介绍,并发编程中经常涉及到的知识点,需要掌握其概念与区别;自旋锁的介绍,对于自旋锁,了解其概念即可。
2024-07-04 15:30:00 882
原创 17. Java Unsafe 类的使用
本节对 Unsafe 类的使用进行讲解,上一小节内容已经对 Unsafe 类的常用方法有了大体的概括,本节主要内容点如下:Unsafe 类的简介,对 UnSafe 类有一个整体的认识;Unsafe 类的创建以及创建过程中避免的异常机制,这是开始使用 UnSafe 类的前提;了解 Unsafe 类操作对象属性方法的使用,这是本节内容的重点之一;了解 Unsafe 操作数组元素方法的使用,也是本节内容的重点之一。本节内容意在了解并掌握 Unsafe 类的常用方法的使用。
2024-07-04 10:50:16 674
html5 canvas龙卷风动画特效
2024-07-12
前端开发实现纯CSS3制作红色下拉导航菜单代码
2024-04-15
iTour chat translation - 网页视频自动翻译插件
2024-01-08
vue分页插件-vue.js分页插件下载
2024-01-08
Ae/Pr插件Dehancer Pro v2.1.0电影质感胶片效果工具
2024-01-08
Sequelize 插入数据的时候没有自动自增id?
2024-04-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人