自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 收藏
  • 关注

原创 MybaitsPlus学习笔记(三)常用注解

在确定操作的表时,由BaseMapper的泛型决定,即实体类型决 定,且默认操作的表名和实体类型的类名一致。若实体类类型的类名和要操作的表的表名不一致,会出现什么问题?我们将表user更名为t_user,测试查询功能。程序抛出异常, Table 'mybatis_plus.user'doesn't exist,因为现在的表名为t_user,而默认操作的表名和实体类型的类名一致,即user表。

2025-02-18 22:14:48 732

原创 MybaitsPlus学习笔记(二)基本CURD

MyBatis-Plus中有一个接口 IService和其实现类 ServiceImpl,封装了常见的业务层逻辑。MyBatis-Plus中的基本。在实现插入数据时,会默认基于雪花算法的策略生成。中都已得到了实现,我们可以直接使用,接口如。可以通过修改配置来实现添加的id递增。插入一条记录(选择字段,策略插入)IService中的一些方法测试。最终执行的结果,所获取的。id可能并不是递增的。根据id查询用户信息。三、IService。

2025-02-18 21:08:04 344

原创 synchronized介绍与锁的升级

锁一共有4种状态,级别从低到高依次是:无锁状态、偏向锁状态、轻量级锁状 态和重量级锁状态,这几个状态会随着竞争情况逐渐升级。锁可以升级但不能降级,意味着偏向锁升级成轻量级锁后不能降级成偏向锁。

2025-02-13 21:13:27 693

原创 银行家算法

银行家算法(Banker's Algorithm)是一种避免死锁的著名算法,由艾兹格·迪杰斯特拉在1965年为T.H.E系统设计。该算法以银行借贷系统的分配策略为基础,判断并保证系统的安全运行。

2025-02-11 21:22:10 290

原创 操作系统中的任务调度算法

每个任务在执行完自己的时间片后,如果还没有完成,就被挂起并排到队列的末尾,等待下一个轮次的执行。它的核心原则是按照进程到达就绪队列的顺序进行调度,即最早到达的进程将首先获得CPU的执行权。(也称为最短剩余时间优先SRTF,Shortest Remaining Time First):允许在任何时刻中断正在执行的作业或进程,并切换到具有更短执行时间的作业或进程。通俗来说就是,先来的就先做。该算法会遍历所有等待执行的作业或进程,并根据其预计执行时间进行排序,然后选择执行时间最短的作业或进程进行调度。

2025-02-11 20:38:37 792

原创 MybaitsPlus学习笔记(一)简介与入门案例

(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。提供了通用的Mapper和Service,可以在不编写任何SQL语句的前提下,快速的实现单表的增删改查(CURD),批量,逻辑删除,分页等操作。只要把MyBatis-Plus的特性到优秀插件,以及多数据源的配置进行详细讲解。快速开始 | MyBatis-Plus愿景我们的愿景是成为MyBatis最好的搭档,就像魂斗罗中的1P2P,基友搭配,效率翻倍。

2025-02-01 18:27:25 1414

原创 创建Springboot项目的五种方式

这两种方式都是从官网创建,然后下载所对应的压缩包,解压后通过idea import项目的pom.xml文件,来创建文件。添加controller进行测试,网页访问localhost:8080/index/run ,控制台有打印。导航栏project——>springboot——>spring initializr。spring initializr,选择从官网还是从阿里云的模板。创建完成,添加controller运行测试。只不过选择第一个默认。首先创建一个普通的maven项目。包名,maven,java。

2025-02-01 17:46:44 401

原创 gitlab云服务器配置

root@gitlabtools]# yum localinstall -y gitlab-ce-10.8.4-ce.0.el7.x86_64.rpm #安装下载好的rpm包。[root@gitlabtools]# gitlab-ctl reconfigure #重新加载配置。gitlab-rake gitlab:check SANITIZE=true --trace #检查gitlab;gitlab-ce-10.8.4-ce.0.el7.x86_64 #查看版本。

2025-02-01 16:45:08 1013

原创 git多人协作

git remote prune origin 是一个 Git 命令,用于删除那些不再存在于远程仓库 origin 上的本地跟踪分支的引用。这个命令有助于清理你的本地仓库,移除那些已经在远程被删除但本地仍然保留的分支引用。git pull后,但是我们发现有远程分支,但是没有本地的develop分支。这时我们可以创建本地的develop分支,此刻我们也可以修改本地分支的名字。由于鲁智深已经推送,我们使用林冲的账户来拉取,我们可以看到新建立了分支。把本地的分支推送到远程分支。先创建分支再推送到远程仓库。

2025-02-01 16:42:06 731

原创 git仓库

什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。

2025-01-27 20:52:21 797

原创 git分支管理

git 的分支整体预览图如下:从上图可以看到主要包含下面几个分支:master:git默认主分支(这里不作操作)。stable:稳定分支,替代master,主要用来版本发布。develop:日常开发分支,该分支正常保存了开发的最新代码。feature:具体的功能开发分支,只与 develop 分支交互。release:release 分支可以认为是 stable分支的未测试版。

2025-01-27 20:39:37 906

原创 git相关命令

首先要明确下,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成2kb,但是到底改了啥,版本控制也不知道。目录中生成.git的隐藏文件夹,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。进入该文件夹,右键通过命令行的方式打开窗口。

2025-01-27 19:16:49 971

原创 git简介与相关概念

Git 是一种分布式版本控制系统,最初由 Linus Torvalds 创建,用于管理 Linux 内核开发。它是一个开源项目,可以高效地处理从小型到大型项目的版本管理。Git 的设计目标包括速度、简单的设计、对非线性开发模式的强力支持(允许上千个并行开发的分支)、完全分布式以及能够高效管理类似 Linux 内核这样的超大规模项目(速度和数据量)。集中化的版本控制系统(,简称CVCS这类系统,诸如CVSSubversion以及Perforce。

2025-01-21 23:02:45 988

原创 git的安装

返回桌面检验是否安装成功,右键后出现Git按钮。最后安装在d盘,programfiles。点击dowmload选择适合自己的版本。配置实验选项(新功能,可以不选)是否修改库名,默认master。

2025-01-21 22:38:30 324

原创 SSM项目本地Tomcat部署

注意:打包时会测试,测试时可能会测试根据id删除。第二次的测试就会出错,导致打包失败。根据每个模块不同的文件名和端口号进行对应的修改。创建多个service,要取不同的名字。从target目录下找surefire-reports文件找对应的测试类出错的原因。把三个war包,一个jar包放进tomcat的webapps的目录下。同时会自动生成,在webapps文件下生成三个新文件,修改config目录下的server.xml。在生命周期中,完成打包。config目录生成。

2025-01-21 22:29:31 644

原创 Http协议

HTTP(超文本传输协议,HyperText Transfer Protocol)是一种用于分布式、协作式、超媒体信息系统的应用层协议。HTTP 是万维网(WWW)的数据通信的基础,设计目的是确保客户端与服务器之间的通信,是互联网上最常用的协议之一。HTTP 是一个基于 TCP/IP 通信协议来传递数据的(HTML 文件、图片文件、查询结果等)。

2025-01-20 23:08:27 895

原创 JWT(JSON Web Token)

JWT是一个开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于将信息作为JSON对象在各方之间安全地传输。JWT通常用于在Web应用和API安全中,作为访问令牌(access tokens)和信息交换的载体。

2025-01-20 22:27:14 1115

原创 Java文件相关

【代码】Java文件相关。

2025-01-19 22:25:37 217

原创 Java基础--类和对象

类是构建对象的模板,一个类可以创建多个对象,每个对象的数据的最初来源来自对象publicStringname="张三";}//创建Student类第一个student:表示数据类型;s:表示项目或者变量的名称;new关键字:要求在堆内存中开辟内存空间;Student():构造器,在创建对象时给对象赋值;=:赋值操作,将堆内存中的创建的新空间地址赋值给s;s2.name="李四";方法区存储类信息!!!!!!对象是类的一个实例,有状态和行为。

2025-01-19 21:38:53 797

原创 Java基础--JDK与JRE

java开发团队将最初研发的java基础知识点在网上开源,这样一些大牛会加入他们的开源社区这些大牛加入进来以后他们会对java不断地增加某些功能,封装某种功能,逐步形成javaEE和javaME.javaEE和javaME就相当于是javaSE的拓展功能。它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行环境JRE,以及常用的Java基础类库等,是整个JAVA的核心。它是整个java实现跨平台的最核心的部分,负责解释执行字节码文件,是可运行java字节码文件的虚拟计算机。

2025-01-19 20:56:42 566

原创 八大排序--基数排序

基数排序(RadixSort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表示字符串(如电话号码或单词),所以基数排序也不限于整数。基数排序是一种高效的排序算法,特别适用于大量数据的排序,因为它的速度通常比传统的比较排序算法(如快速排序、归并排序)要快。然而,由于它需要额外的空间来创建桶,所以在内存非常有限的情况下,可能不是最佳选择。

2025-01-19 20:32:18 246

原创 八大排序--希尔排序

希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率;但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位;当需要插入的数据越小,则数据需要移动的次数愈多希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录"基本有序"时,再对全体记录进行依次直接插入排序。简单来说,希尔排序是将数据分组,将每一组进行插入排序。

2025-01-19 20:05:27 276

原创 八大排序--插入排序

插入排序(StraightInsertionSort)是一种简单的排序方法,它的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增加的有序表。这种排序方法在实际应用中非常直观,类似于我们打扑克牌时整理手中牌的过程。

2025-01-19 17:58:53 310

原创 八大排序--选择排序

选择排序是一种简单直观的排序算法,它的基本思想是在每一次遍历中找到最小(或最大)的元素,将其放置到序列的起始位置。这个过程会不断重复,直到所有的元素都被排序。尽管选择排序的时间复杂度为O(n^2),它的优点在于不占用额外的内存空间。

2025-01-19 17:40:23 318

原创 八大排序--冒泡排序

冒泡排序(英语:Bubblesort)是一种简单的排序算法。由于在算法的执行过程中,较小的元素像是气泡般慢慢「浮」到数列的顶端,故叫做冒泡排序。冒泡排序(BubbleSort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。

2025-01-19 17:13:28 407

原创 MyBatis(七)延迟加载策略与缓存

在MyBatis中也称为懒加载,是指在进行表的关联查询时,不立即加载关联的对象,而是在真正使用到关联对象的数据时才执行查询。这种机制有助于提高应用程序的性能,尤其是在处理一对多或多对多关系时,可以避免不必要的查询,从而减少数据库的压力和内存的使用。

2025-01-18 20:55:21 743

原创 MyBatis(六)关联查询

级联关系在现实生活中是十分常见的,例如一个大学生只有一个学号,一个学号只属于一个学生。同样,人与身份证也是一对一的级联关系。,例如一个用户可以有多个订单,而一个订单只属于一个用户。,实际应用中,由于多对多的关系比较复杂,会增加理解和关联的复杂度,所以应用较少。MyBatis没有实现多对多级联,推荐通过两个一对多级联替换多对多级联,以降低关系的复杂度,简化程序。例如,一个订单可以有多种商品,一种商品可以对应多个订单,订单与商品就是多对多的级联关系。

2025-01-18 18:34:02 177

原创 MyBatis(五)动态SQL

动态SQL是MyBatis的强大特性之一。在JDBC或其它类似的框架中,开发人员通常需要手动拼接SQL语句。根据不同的条件拼接SQL语句是一件极其痛苦的工作。例如,拼接时要确保添加了必要的空格,还要注意去掉列表最后一个列名的逗号。而动态SQL恰好解决了这一问题,可以根据场景动态的构建查询。元素作用备注if判断语句单条件分支判断相当于Java中的switchcase语句多条件分支判断trim、where辅助元素用于处理一些SQL拼装问题foreach。

2025-01-18 18:06:58 1308

原创 vue项目创建与运行(idea)

在安装完node.js后使用管理员身份运行命令行,在命令行中,执行如下指令:这个过程中,会联网下载,可能会耗时几分钟,耐心等待。以管理员身份运行cmd检查版本。

2025-01-18 12:56:01 1466

原创 node.js安装与环境配置

官网下载安装包安装过程,next,同意协议后点击next选择安装到一个,没有中文,没有空格的目录下D:\nodejs我的目录为这个。

2025-01-18 12:13:35 317

原创 MyBatis(四)参数与配置详解

-配置环境们-->--配置具体的环境-->--配置事务管理类型-->--配置是否需要使用连接池,POOLED使用,UNPOOLED不使用-->--加载映射的配置文件--><mappers></mappers>--定义别名-->--把com.qcbyjy.domain.User使用user别名来显示,别名userUserUSER都可以,默认是忽略大写的-->

2025-01-17 23:32:43 403

原创 MyBatis(三)代理Dao方式的CRUD操作

在入门案例中有很多重复的地方进行提取把befor和after提取出来后,再进行测试就简便了许多。

2025-01-17 23:19:29 256

原创 MyBatis(二)入门案例

在resources目录下创建SqlMapConfig.xml的配置文件(其实名称可以任意),导入对应的约束,编写主配置文件。在resources目录下,创建mapper文件夹。编写UserMapper.xml的配置文件,导入约束文件。引入log4j的jar包,1.2.12版本(需要引入log4j.properties的配置文件)引入MySQL驱动的jar包,5.1.6版本。引入MyBatis的3.4.5的版本的坐标。引入Junit单元测试的jar包。

2025-01-16 22:21:53 365

原创 MyBatis(一)介绍与下载

MyBatis是一个优秀的基于Java的持久层框架,内部对JDBC做了封装,使开发者只需要关注SQL语句,而不用关注JDBC的代码,使开发变得更加的简单。MyBatis通过XML或者注解的方式将要执行的各种Statement对象配置起来,通过Java对象和statement中SQL的动态参数进行映射,并最终执行SQL语句。执行SQL后,最终将结果已Java对象返回。采用了ORM的思想。

2025-01-16 21:34:56 693

原创 Linux的常用命令(三)

开启:chkconfig iptables on 关闭:chkconfig iptables off。开启:service iptables start 关闭:service iptables stop。查看防火墙状态:service iptables status。命令所在路径:/usr/sbin/ifconfig。命令所在路径:/usr/sbin/shutdown。命令所在路径:/usr/sbin/reboot。命令所在路径:/usr/sbin/ping。范例:# ifconfig -a。

2025-01-16 20:32:58 432

原创 Linux的常用命令(二)

root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc 打包后,以 gzip 压缩。[root@linux ~]# tar -cvf /tmp/etc.tar /etc 仅打包,不压缩![root@linux ~]# tar -zxvf etc.tar.gz 打包后,以 gzip 压缩。zip 选项[-r] [压缩后文件名称] [文件或目录]语法:chmod [{ugo}{+-=}{rwx}] [文件或目录][mode=421 ] [文件或目录]

2025-01-16 20:17:20 516

原创 Linux的常用命令(一)

命令格式:命令-选项参数例:ls -la /etc说明: 1)当有多个选项时,可以写在一起。2)两个特殊的目录. 和.. ,分别代表当前目录和当前目录的父目录。

2025-01-16 20:07:15 771

原创 数据库连接池

数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请,使用,释放。创建数据库连接是一个很耗时的操作,也容易对数据库造成安全隐患。所以,在程序初始化的时候,集中创建多个数据库连接,并把他们集中管理,供程序使用,可以保证较快的数据库读写速度,还更加安全可靠。需要自己创建连接和销毁连接,这样是比较消耗时间,资源等。

2025-01-16 19:50:57 1170

原创 MySQL 事务

MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!在 MySQL 中,事务是一组SQL语句的执行,它们被视为一个单独的工作单元。简单来说,事务:组成各个数据的执行的单元,要么都成功,要么都不成功。举例: 转账的功能,冠希给美美转1000元钱。开启使用事务,先给冠希扣除掉1000元,再给美美加上1000元,事务结束了。

2025-01-16 19:20:24 1150

原创 SpringMVC框架(三)

2025-01-15 23:09:38 991

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除