自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MyBatis学习随笔(1)

前言本篇文章是跟随遇见狂神说学习MyBatis的第一篇随笔。在跟随遇见狂神说的视频学习的过程中,学会了如何学习MyBatis,明白了MyBatis的本质是什么。同时狂神根据文档的教学也让我有深刻的学习体会。MyBatis系列文章将根据MyBatis的中文文档以及我的学习心得拼接完成,文档链接如下:MyBatis中文文档MyBatis是什么MyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。MyBat

2022-02-01 12:19:50 1591

原创 快速查询的秘籍 —— B+索引的建立

前言之前的文章说过,InnoDB存储数据的单位是页,各个数据页之间采用双向链表连接起来;而每个数据页中的记录之间又通过单向链表连接,而记录又分为若干个组,组采用最大记录的记录信息作为槽信息,多个槽组合成页目录;当用户查询某条记录 A 时,先使用二分法在页目录中找到主键值比 A 的主键值大且差值最小的槽,然后再使用二分法找到对应的记录。没有索引的查找在一个页中查找在一个页中查找一条记录,当知道主键时可以采用前言中的方法快速查找到对应的记录;但是如果是其他列信息为查询条件就没这么幸运了,因为页中的记录

2022-01-26 17:47:52 871

原创 MySQL运行过程及引擎

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档读《MySQL是怎么运行的》随笔(1)前言MySQL存取数据总流程连接管理客户端和服务端的连接连接管理的作用解析和优化查询缓存查询缓存的删除语法解析查询优化存储引擎前言众所周知,数据库是开发不能跳过的门槛,操作数据库和设计数据库的能力高低在一定程度上决定程序员的技术。数据库的学习绝不仅仅是CRUD这么简单,其底层的运行也要有所了解。目前,我也在学习数据库知识中,同时也向大家推荐我所读的书——《MySQL是怎样运行的》MySQL存取数

2022-01-13 16:22:09 334

原创 记录 Dubbo+Zookeeper 学习Demo

服务接口 Dubbo 中沟通消费端和服务端的桥梁。在模块的创建接口类。

2024-03-12 15:41:34 1244

原创 记录启动Dubbo-admin遇到的问题

更换完毕之后发现还是报错,依旧报的是淘宝镜像源过期,好像镜像源没有更换一样,其实这是dubbo-admin-ui在项目中已经规定依赖的下载镜像源,所以上面的全局镜像源修改是不生效的,打开项目中的package-lock.json文件,将所有https://registry.npm.taobao.org 更换成 https://registry.npmjs.org。百度之后发现我使用的是JDK17,所以和zookeeper连接不上(具体原因不清楚),更换成1.8之后成功。

2024-03-11 14:52:31 420

原创 Vue开发中遇到问题记录

card上面存在两个按钮,分别是"退订",“退款”,要求是点击退订按钮时弹窗,弹窗内容为退订原因选择列表和退订说明输入框,同时退订原因必选;针对这个问题我试验过多个方案,但是都没有完美解决,比如通过监视props数据,发现props有值时给mustWriteTag(必填校验字段)和textContent(退订说明)的赋值,但会出现只触发一次的情况(props传值是在list触发的,需要刷新list页面才会再次传值,这显然不符合需求)。完成数据传递,弹窗功能就算完成了,但是在控制必选的过程中出现了问题。

2023-09-14 18:18:20 123

原创 mybatis随笔(6)

前言在实际开发中,免不了要使用到SQL语句判断,当符合某个条件时执行某条语句,这就是动态SQL。在原生JDBC中,采用动态拼接的方式实现,而mybatis则使用动态SQL标签来实现,if标签在mybatis中使用 if 标签来表示判断条件,如以下语句:<select id="selectById" resultType="view"> select * from view where 1=1 <if test="author"

2022-03-14 23:36:06 499

原创 mybatis随笔(4)

回顾回顾mybatis开发过程,首先先创建配置文件,配置其中的数据库源和数据库信息,创建接口和xml文件,接口书写接口方法,这个接口方法就是xml文件(SQL语句实现文件)中对应SQL标签的id;不同的SQL语句有不同的标签; 完成接口和xml文件的映射——xml文件中mapper标签中的namespace属性填写接口的全限定类名;书写SQL语句;什么是全限定类名,公式:全限定类名 = 包名+类型名;编写测试类:获取sqlSession,使用sqlSession中的getMapper(interfac

2022-03-13 10:36:34 1181

原创 mybatis随笔(5)

前言之前的mybatis说过当SQL语句查询出来的列名和实体类的类名不相符的时候可以是使用resultMap来完成二者之间的映射,但是确有特殊情况发生,平常的属性可以使用result标签来完成,对象和集合却不可以,本篇文章就是来说明如何解决对象和集合的映射关系。环境的搭建以Student和Teacher表来举例,所以先创建二者的表:Student:CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` va

2022-03-13 10:35:17 381

原创 MySQL随笔——B+索引的使用及优化

前言在之前的文章中说过索引的底层是B+树,现在让我们在回顾一下知识:B+树有很多层,最底层称为叶子节点,其余的称为内节点。所有的用户记录存储在叶子节点中,而记录项目录存储在内节点。InnoDB引擎会依据主键(没有指定时数据库自动加入虚主键)创建聚簇索引根据业务的要求不同需要的索引列也不同,这时候可以创建二级索引,二级索引的用户记录为 主键+索引列。当需要查询的数据不是主键或者索引列时,使用二级索引会进行回表操作,获取对应的主键后使用聚簇索引进行二次查找得到需要的值索引的每一个叶子节点都是对应一个

2022-02-20 17:52:46 586

原创 MyBatis学习随笔(3)—— ResultMap、日志、分页

前言上篇文章主要是对Mybatis的增删改查以及核心配置解析的了解。本篇文章将堆SQL语句进行分析,主要是对结果集映射的了解,同时还有怎样配置Mybatis日志、分页如何处理等等。结果集映射——ResultMap结果集映射顾名思义就是对结果集进行一系列的处理,得到我们想要的数据。在SQL查询,尤其是复杂查询中,所得出来结果的列名在映射实体类中并不存在,导致在Java业务层中无法得到对应数据,这种情况就需要结果集映射来完成,简单来说就是为结果列名取别名,使得查询出来的结果类名能够对应上实体类上的属性名。

2022-02-09 16:01:58 800

原创 Mybatis学习随笔(2)—— Mybatis增删改查以及配置解析

前言上篇文章讲述了Mybatis是什么以及简单的将Mybatis的查询流程过了一便。使用Mybatis的应用应该从导包开始,导入mybatis依赖包,后在resources资源文件夹下新增mybatis-config.xml核心配置文件,配置数据库连接等信息,然后完成实体类、接口和SQL语句文件*Mapper.xml的映射。本篇文章主要是完成一些增删改查工作,了解有参数情况下应该怎么操作。除此之外还有了解一下配置文件标签,以及配置文件的一些优化。Mybatis的增删改查增首先完成接口方法的创建p

2022-02-04 20:45:49 1223

原创 InnoDB数据页结构

前言之前说过,记录是数据库操作的基本单位(如不理解请看InnoDB记录结构),数据存储在磁盘中,数据库操作在内存中进行,要完成对数据库的操作就要进行磁盘和内存的交互,但是如果数据众多,不可能让磁盘和内存进行频繁的交互,因为这是个低效率的行动,所以数据库推出了磁盘和内存交互的单位概念——页。在明白记录的结构之后,也让我们了解一下页的结构。如果你学习过索引,你会了解索引的查找方式为什么会是那样的了。页的结构清单页的基本结构以及作用如下:File Header:页的通用信息,占38字节Page Hea

2022-01-26 17:49:05 247

原创 MySQL随笔——InnoDB的记录结构

引擎什么是引擎?引擎的作用是什么?很多人都知道MySQL是多引擎的数据库服务程序,但是不知道引擎到底干什么。一句话:引擎是用于存储、处理和保护数据的核心服务。数据库在处理请求时分三个步骤:连接管理,解析与优化,存储引擎连接管理主要是对客户端和服务端连接的一些优化管理,比如将断开的连接不立即销毁,而是暂时缓存起来,给后来的客户端连接请求,已达到连接优化的效果。解析与优化主要是对SQL语句的优化。存储引擎则是真正执行SQL语句的部分,除此之外,存储引擎还有管理数据的功能。InnoDB简介MySQL

2022-01-17 15:58:48 491

原创 MySQL乱码问题根源解析

MySQL出现乱码问题的原因主要是三个系统变量的不一致导致的,这三个系统变量分别为character_set_client,character_set_connection,character_set_results。mysql> show variables like 'character%';+--------------------------+---------------------------------------------------------+| Variable_name

2022-01-14 15:21:07 779

原创 Java Web(2)

Servlet前言一、创建 Web 开发环境二、编写一个Servlet程序总结前言Servlet是动态web的核心,尽管现在市面上已经很少有使用Servlet开发的公司,但是Servlet是打基础的技术栈,后面框架中的 Spring MVC 的底层就是 Servlet。一、创建 Web 开发环境第一步:创建一个maven项目完成之后,等待IDEA加载web环境,这个过程可能比较长,耐心等待,当出现如下文件结构的时候,说明web环境已经配置完毕这里需要添加两个文件夹 —— Java 和 r

2021-12-16 17:47:28 353

原创 JavaWeb(1)

Webweb的基础概念什么是webweb的分类web应用程序服务器流程web的基础概念什么是webweb一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。简单来说,web开发主要进行网页开发。web的分类web分为两种:静态web,动态web静态web指的是内容固定,数

2021-12-15 17:37:59 1553

原创 IDEA的Maven配置-复习记录篇

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档Maven配置前言一、本地配置Maven第一步:下载Maven第二步:配置环境变量第三步:检查是否配置成功二、配置Maven信息第一步:创建maven本地仓库第二步:完成远程仓库配置总结前言在配置Maven之前需要明白什么是Maven,为什么要使用Maven。在开发的过程中不免要使用到其他功能的包——jar包,通过引入jar包来完成某些功能;但是,当项目比较庞大的时候,jar的使用就会出现较为混乱的结果,比如某个jar包因为其依赖的

2021-11-17 09:59:10 276

原创 我的第一个SpringBoot项目

SpringBoot 微服务为什么要学习SpringBoot微服务微服务的优点微服务的缺点我的第一个SpringBoot项目为什么要学习SpringBoot简化工作使用过Spring的都知道,Spring虽然能够使开发者在开发程序的时候得到帮助,但是繁琐的配置文件让人恼火;而SpringBoot则是在Spring的基础上摒弃掉了繁杂的配置文件,为开发者提供了默认的配置,不需要开发人员再定义样板化的配置。具体简化的方面:依赖简化:SpringBoot自带的starter中提供了可以快捷使用的依

2021-09-29 17:14:51 56

原创 JavaSE总复习(三)

方法方法是语句的结合,它们在一起解决某一个问题。方法不能够脱离类而单独存在,也就是类的外部不能够创建方法,通常情况下方法是在其他方法中调用的。方法的创建方法的创建有几个重要的因素要注意:方法只能创建在类中方法的名称方法的形参方法的返回值类型方法的修饰符 public static 方法返回值类型 方法名称(形参){ 方法体:方法指令 return 返回值; }首先第一点,方法只能在类中创建,这是定义,死规矩,无需解释;其次方法的名称,需要注意的是方法的名称不要

2021-08-28 20:17:46 82

原创 JavaSE知识总复习(二)

程序逻辑控制顺序结构其实顺序结构没什么好讲的,但是如果没有系统学习过编程的同学也会有点懵;顺序结构其实就是代码执行的顺序,即代码执行顺序是从上到下的执行; System.out.println("大家好"); System.out.println("欢迎大家来到"); System.out.println("我的博客"); //程序执行结果: 大家好 欢迎大家来到 我的博客分支结构分支结构就是根据不同的情况分出两条或多条的情况,举

2021-08-26 22:20:21 68

原创 JavaSE知识总复习(一)

@[变量和运算符]变量什么是变量?变量其实就是存储数据、命名数据的标识符。变量有三个特征:1、允许变量存储的类型 ; 2、变量的符号; 3、变量中存储值变量的定义变量需要定义出来才能够使用它,定义也相对简单,变量类型 + 变量名称即可定义一个变量。需要注意的是,在同一个方法中不允许出现相同名称的定义变量。 int i; double n; //也可以采用多个连续定义的方法 int j, f, k, l;变量的赋值以及初始化变量光光定义还不行,还需要进行赋值或者是初始化才能进行运

2021-08-13 09:39:19 97

原创 Java习题解析

Java每日一题Java方向每日一题day02_4月13日选择题第一题第二题第三题第四题第五题第六题第七题第八题第九题第十题编程题第一题第二题Java方向每日一题day02_4月13日选择题第一题A 派生出子类 B , B 派生出子类 C ,并且在 java 源代码有如下声明: 1. A a0=new A(); 2. A a1=new B(); 3. A a2=new C();问以下哪个说法是正确的?()A 只有第一行能通过编译B 第1、2行能通过编译,但第3行编译出错C 第1、2、

2021-06-04 19:12:49 413

原创 每日一题回顾解析——day01

day01_4月12日day01_4月12日选择题第一题第二题第三题第四题第五题第六题第七题第八题第九题第十题编程题一、组队竞赛解析代码二、删除公共字符解析代码day01_4月12日选择题第一题class Test{ private int data; int result = 0; public void m() { result += 2; data += 2; System.out.print(result +

2021-05-20 14:06:45 220

原创 Servlet 解析 JSON 数据步骤

解析JSON数据Servlet解析JSON数据第一步 请求方法及请求数据第二步 解析请求数据第三步 执行业务第四步 返回响应数据Servler 的数据库操作——JDBC连接数据库PreparedStatment——执行 SQL 语句增删改查释放数据库资源JDBC 总结executeUpdateServlet解析JSON数据第一步 请求方法及请求数据根据不同的请求方法重写不同的 doXXX 方法,请求方法大概有两种——doGet(),doPost(),当然也可以采用一步到位的方法,这样无论前端请求的是

2021-05-12 13:53:09 1825

原创 链表常见面试题(二)

链表中倒数第k个链表**题目:**链表中倒数第k个结点题目链接:OJ链接示例1输入:1,{1,2,3,4,5}返回值:{5}**题目解析:**要求倒数第k个结点的位置,那么我们只需要找(length - k)的结点位置即可,具体分析如下: ListNode cur = head; for(int i = 0; i < count - k; i++){ cur = cur.next; }以示例1为例,那么上述代码就变

2021-04-25 16:56:28 124 1

原创 链表常见面试题讲解(一)

链表面试题讲解移出链表元素移出链表元素题目:给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。题目链接:移出链表元素——来试试其实移出链表元素就是删除对应值的链表节点,操作无非记录要删除节点的上一个节点,使得这个节点指向要删除的节点的下一个节点,代码演示: //preNode节点是要删除节点的上一个节点 //toDelNode节点是要删除的节点 preNode.next = toDelNode.n

2021-04-21 15:43:28 164

原创 线性表——顺序表

数据结构第一课线性表顺序表增删改查遍历用数组实现顺序表线性表线性表是什么?线性表就是n个具有相同特性的数据元素的有限序列,注意其概念,是具有相同特性,也就是说线性表中的数据元素需要是相同类型的数据;线性表是一种在实际中广泛应用的数据结构,常见的线性表有顺序表,链表,栈,队列等等。其中相对重要也相对基础的是顺序表和链表。线性表的一个元素便占据这一个内存,我们称之为节点,线性表要求每一个节点只能够拥有一个前驱节点和一个后继节点,到底是怎样的呢?我们看下图便能明白:顺序表顺序表是线性表的一种,它和数

2021-04-08 17:51:04 1089

原创 我的Java项目——图书管理系统

这是我的第一个项目,虽然十分的简单,在这个项目中使用了多态、继承以及接口实现等方法。首先要明确图书管理系统的功能是什么,其实无非是增删改查,同时也分两种身份的使用系统;作为管理员所拥有的的权限为:查阅书籍、增加书籍、删除书籍、查看书籍列表、退出程序;而非管理员即普通用户的权限仅限于查阅书籍、借阅书籍、归还书籍以及通用的退出程序。在明确了需要实现什么样的功能之后,就要开始构建结构了,是的,不是马上开始写功能代码,而是把整个框架先构建起来!!主要类有哪些?通过什么途径去调用功能代码等等都是我们需要考虑的

2021-04-08 13:31:33 440

原创 抽象类和接口

抽象类和接口抽象类抽象方法接口接口存在的意义抽象类和接口区别抽象类和接口二者都是为多态服务的,其中的抽象方法都是要通过重写才能够使用,但二者也有着明显的区别.抽象类抽象类通过关键字abstract创建,其不能够实例化,主要的目的就是为了搭配多态去使用;我们常常需要通过重写方法来使用多态,而为了代码的简洁性,也为了在创建实例化的时候会创建父类来调用重写方法的尴尬;接下来我们来讲讲抽象类内部代码块应该怎么书写.首先使用abstract创建抽象类,然后可以再其中声明变量,创建声明方法,创建声明抽象方法

2021-03-12 16:43:21 66

原创 Java三大特性之一 —— 多态

Java三大特性多态多态的语法向上转型动态绑定重写向下转型多态的实现Java有三大特性——封装,继承,多态封装采用的是访问限制符类实现的,其目的是让使用者尽量少的了解到代码信息,使得代码在简洁性上面做出贡献;继承通过extends来使得子类获得父类的成员属性和成员方法,其主要作用是为了类的代码重用性,使得重复使用相同代码不再显得累赘;而多态则是通过三个语法来实现——向上转型、动态绑定、方法重写,当然,多态的实现也离不开继承的贡献;多态的功能体现在同一操作在面对不同对象的时候,可以有不同的解释,也可以

2021-03-12 12:28:10 156

原创 面向对象编程——继承

继承什么是继承继承语法规则权限访问符组合类初始化顺序什么是继承继承继承和被继承有两个类来承接,一个父类(被继承类),一个是子类(继承类);子类通过extends关键字继承父类的成员属性和方法;什么是继承?继承就是子类继承父类的成员属性和方法;继承的作用是什么呢?之前我们讲过方法是为了很好的重复利用代码,即代码重用;而继承也是同样的作用而产生的,只不过其余方法的重复利用不同,它的作用是类的代码重用,以此来简化代码.语法规则继承是在一个类的基础上加上新的功能,其解决的问题就是共性的抽取;即猫和鸟

2021-03-06 10:31:32 88

原创 String的解析——字符串对象不可变

String方法类与对象每篇一题答案String方法字符串比较字符常量池字符串查找containsindexOfstartsWith字符串替换字符串拆分——split字符串截取SringBuffer和StringBuilder每篇一题类与对象每篇一题答案Oper_2.javapublic class Oper_2 { public static void main(String[] args) { Cat cat1 = new Cat(); Cat cat2 =

2021-03-03 20:04:20 328

原创 Java的第一个程序——Hello World

首先我们需要创建一个文本文件,在其中输入代码之后再将这个文本文档的后缀名改为.java文件,使其从.txt文件转变为可编辑的.java文件;需要注意的是如果没有显示后缀名,那么不管怎么重命名其还是一个.txt文件;编写代码完成后 “Win + R”在出现的窗口输入 “cmd”,在找到对应路径后输入“javac Hello.java”编译Hello.java文件,随后在相同文件中会出现编译完成的.class文件,使用“java ”命令可以运行在书写我们的java程序之前,我们得配置Java环境才行,所以

2021-02-28 11:55:40 150 1

原创 类与对象

2021-02-25 20:46:58 213 2

原创 初步认识引用

Java引用每篇一题答案初步认识引用对象和引用引用指向对象的规则引用的赋值操作符理解引用的比较操作符理解引用操作符理解每篇一题答案 int[] arr1 = new int[]{1, 2, 3, 4}; int[] arr2 = arr1; arr2[0] = 100; System.out.println(Arrays.toString(arr1));初步认识引用对象和引用引用可以说是“低配”的指针,因为引用在本质上是和指针一样的,

2021-02-24 18:37:25 126 1

原创 Java数组详解

Java数组数组的创建数组的使用数组的常规使用获取数组个数获取数组元素数组的运用数组的遍历数组的快速打印数组引用查找元素二分查找冒泡排序数组的创建Java数组的创建和C语言有着较大的区别,在理解程度上个人认为是C语言的数组创建模式更能让人接受,但是在结构合理上Java则更胜一筹;创建数组有三种方式: //第一种,创建加字面量 int[] arr = new int[]{1, 2, 3, 4}; //第二种,是第一种的简化 int[] ar

2021-02-23 08:42:37 210 1

原创 Java的输入输出及猜数字游戏详解

Java习题Java输入输出输入输出习题猜数字游戏Java输入输出每一个编程语言都会涉及到输入输出的问题,只有能够输入输出我们才能够得到我们想要的结果。输入Java的输入需要使用到Scanner类,这个类存在于util包中,在输入的时候需要导入Scanner类包;因为类只是一个抽象的概念,要使用就要创建对象以此来控制实例;这就是类别和个体之间的关系,比如狗是一个类别,而什么品种的狗狗就是一个个体;import java.util.Scanner;Scanner scanner = new Sca

2021-02-20 20:42:30 404

原创 Java字符串使用及运算符详解

这里写目录标题字符串的使用字符串的连接字符串与其他类型变量的转换运算符算术运算符关系运算符逻辑运算符移位运算符位运算符运算符优先级问题字符串的使用字符串的连接字符串可以与其他类型的变量通过操作符"+"进行连接,但要注意的是连接后的结果是一个字符串变量,下面来看能够怎样连接 String str = "hello "; boolean kf = true; String str1 = str + kf;这是一种连接方式,将两个变量赋值给第三个字符串变量

2021-02-18 21:00:44 2460

原创 Java基本数据类型

Java的数据类型和C语言的数据类型有相通之处,但是也有不少的差异数据类型Java的数据类型可以分为两种,一种是基本数据类型,一种为引用类型;这篇博客讲的是基本数据类型。讲述数据类型都会涉及到什么数据类型操控多少字节数的问题,Java的数据类型基本上都是规定死的,与操作系统没有直接的关系,更不存在64位、32位操作系统下字节数会不一样的情况这和C语言就出现了一个明显的差别。整型基本使用格式:int 变量名 = 初始值;int类型占用4个字节,其数值范围-2^31 ~ 2^31 - 1(-21亿

2021-02-18 15:43:48 121

空空如也

空空如也

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

TA关注的人

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