自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何解决前端上线之后用户页面不刷新的问题

这种场景就好像是 App 版本更新似的,每次上线都要定义一个版本,这个版本通过后端接口进行修改和获取,但是需要前端和后端一起配合,以及一整套流程控制,数据表维护等。实现起来相对来说较麻烦,需要一定时间。...

2022-08-18 11:04:10 5431 7

原创 Vue2 大型项目升级 Vue3 详细经验总结

前段时间,公司准备在现有的 Vue2 项目中做一个聊天系统,但考虑开发聊天系统的周期并不短,客户又急需。于是准备对接腾讯的 IM 组件,来实现。对于 TUIKit,官方文档上有以下要求:然而我们公司项目是使用 Vue2 版本的,这显然不符合要求。如果要对接,那么必然要升级项目为Vue3 版本。...

2022-08-09 00:00:12 31774 11

原创 【Vue3 + SpringBoot】搭建企业日报管理saas系统

目录起因经过技术栈源码感谢项目介绍登录注册前端后端选择机构前端后端首页前端后端个人信息页前端后端角色管理前端后端用户管理前端后端机构管理前端后端组织架构前端后端项目模块管理前端后端日报模块消息模块前端后端起因每天上班的第一件事情,相信很多小伙伴跟我一样:写日报。要先想想昨天做了什么,然后还要写今天的计划安排,最后写完了还要排版(除非你啥也不整理就丢出去)……早就对这种日复一日的事情厌倦了,于是抄起我的键盘,给领导甩过去……不是,是搞起一个系统来。经过前前后后,每天业余时间,想到一点就写一点,时间过

2022-04-07 22:42:42 4499 7

原创 Vue3.0 Element-plus 全局引入注册 @element-plus/icons 方法

我看文档上么有统一引入的代码说明,顺便补充以下,废话不多说,代码如下:main.jsimport * as icons from '@element-plus/icons' Object.keys(icons).forEach(key => { app.component(key, icons[key])})感觉有帮助的话,就顺手点个赞吧~...

2021-11-15 12:01:14 4235 1

原创 Java - SpringBoot 框架详解(一)

1. SpringBoot框架SpringBoot并不是一个全新的技术解决了新问题的框架!它更像是一个SpringMVC框架,但是,它极大程度的简化了相关的配置,它推荐使用“约定大于配置”的思想,框架本身已经完成了大量的基础配置,开发人员只需要知道“应该怎么做”就行,并不需要手动做相关的配置!2. 创建SpringBoot项目SpringBoot项目的创建方式有多种,可以直接从开发工具中创建,也可以基于SpringBoot的父级项目来创建所需的子级项目,或者,打开https://start.sprin

2021-10-27 23:35:18 3707 1

原创 Java - 服务器端数据传输(一)

1. 服务器向客户端响应处理结果的方式目前,控制器向客户端响应方式有转发和重定向,在大型应用及规范的开发模式下,一般是不建议使用的!因为转发或重定向都会让客户端去请求另一个页面,显示页面会存在一些问题,例如:不适用于多种不同类型的客户端,响应时产生的数据交互量较大,传输速度偏慢,流量消耗较大,用户体验较差!目前推荐的做法就是**服务器只向客户端响应必要的数据,至于数据如何呈现,由客户端技术去解决!**这种做法还会带来另一个好处,就是开发人员的职责的分离,服务器端开发人员就只需要关注服务器端的开发技术,而不

2021-10-27 23:17:30 568

原创 Java - Mybatis 框架详解(三)

目录1. 关于1对多关系的查询2. MyBatis框架小结1. 关于1对多关系的查询需求:查询某个部门的信息,并显示该部门有哪些员工。需要执行的SQL语句大致是:select * from t_department left join t_user on t_department.id=t_user.department_id where t_department.id=?为了封装查询结果,首先,需要创建对应的VO类:public class DepartmentV

2021-10-25 00:02:29 92

原创 Java - Mybatis 框架详解(二)

目录1. 将id=?的数据的电子邮箱改为?2. 动态SQL--foreach3. 动态SQL--if4. 关于#{}和${}占位符5. 使用自定义别名解决名称不匹配的查询问题6. 使用解决查询时名称不匹配的问题7. 简单的关联表查询8. 练习1. 将id=?的数据的电子邮箱改为?在UserMapper接口中添加抽象方法:Integer updateEmailById( @Param("id") Integer id, @Param("email") String email);如果抽象方法

2021-10-23 00:13:35 223

原创 Java - Mybatis 框架详解(一)

目录1. 前置SQL语句2. MyBatis框架的作用3. 创建项目4. 连接数据库5. 抽象方法6. SQL语句7. 删除id=?的数据8. 将所有用户的密码全部改为?9. 统计当前表中用户的数量10. 查询id=?的用户的数据11. 查询所有用户的数据----------------------------------------附1:关于提示Invalid bound statement (not found)的解决方案pom.xml 完整依赖配置完整的 spring-dao.xml完整的 SomeM

2021-10-22 23:25:02 187

原创 Java - SpringMVC 框架详解(三)

目录1. 关于@RequestMapping注解2. 关于@RequestParam注解3. 关于Session4. 拦截器(Interceptor)5. 使用过滤器解决POST请求的乱码问题6. SpringMVC小结附1:关于拦截器(Interceptor)和过滤器(Filter)1. 关于@RequestMapping注解在处理请求的方法之前添加@RequestMapping注解,可以配置请求路径与处理请求的方法的映射关系!在该注释中声明了:@AliasFor("path")String[]

2021-10-20 01:18:18 673

原创 Java - SpringMVC 框架详解(二)

目录3. SpringMVC Helloworld3.5. 使用Thymeleaf显示页面4. 接收客户端提交的请求参数4.1. 准备案例4.2. 通过HttpServletRequest对象获取请求参数【不推荐】4.3. 将请求参数声明为处理请求的方法的参数【推荐】4.4. 使用封装的类型作用处理请求的方法的参数【推荐】4.5. 小结5. 转发数据5.1. 准备工作5.2. 使用HttpServletRequest封装需要转发的数据【不推荐】5.3. 使用ModelMap封装需要转发的数据【推荐】5.4.

2021-10-20 01:06:36 226

原创 Java - SpringMVC 框架详解(一)

目录1. SpringMVC框架的作用2. SpringMVC框架的核心组件3. SpringMVC Helloworld3.1. 案例目标3.2. 创建项目3.3. 配置DispatcherServlet3.4. 使用控制器接收客户端提交的请求1. SpringMVC框架的作用MVC = Model(数据模型) + View(视图) + Controller(控制器)SpringMVC框架主要解决了V与C的交互问题,也就是控制器(Controller)如何接收客户端提交的请求,最终如何给予客户端响应

2021-10-20 00:51:25 271

原创 Java - Spring 框架 SpringFramework 详解(三)

目录1. 自动装配(autowire)2. 通用注解3. 关于对象的作用域与生命周期方法的注解4. 自动装配的注解5. Spring知识小结---------------------------------------------------------附1:关于@Autowired和@Resource注解1. 自动装配(autowire)自动装配:不需要显式的为属性注入值,Spring框架会自动的将合适的值注入到属性中!自动装配的做法:在Spring的配置文件中,为需要自动装配的<bean&g

2021-10-11 00:49:08 283

原创 Java - Spring 框架 SpringFramework 详解(二)

目录1. Spring IoC1.1. 什么是IoC1.2. 通过SET方式注入属性的值1.3. 通过构造方法注入属性的值【不常用】2. 注入集合类型的值2.1. 注入List类型的值【不常用】2.2. 注入SET集合类型的属性值【不常用】2.3. 注入数组类型的属性值【不常用】2.4. 注入Map集合类型的属性值【不常用】2.5. 使用系列节点【不常用】2.6. 注入Properties类型的属性值【常用】3. Spring表达式附1:什么时候需要定义构造方法附2:关于集合的类型1. Spring Io

2021-10-11 00:35:58 254

原创 Java - Spring 框架 SpringFramework 详解(一)

目录1. Spring框架2. 通过无参数构造方法,使用Spring创建对象,并从Spring中获取对象3. 通过静态工厂方法创建并获取对象【不常用】4. 通过实例工厂创建并管理对象【不常用】5. 由Spring管理的对象的作用域【仅了解】6. 由Spring管理的对象的生命周期【不常用】1. Spring框架框架(Framework):一系列的jar包,同时约定了实现某个功能的编程方式,可能与原有的编程方式并不相同!每个框架都解决了某些特定的问题!Spring框架解决的问题:解决了创建和管理对象的问

2021-10-10 23:50:05 2610

原创 Java - 数据库连接驱动JDBC详解(二)

目录数据库连接池读取 properties 配置文件SQL注入预编译的SQL执行对象PreparedStatementStatement的批量操作PreparedStatement 的批量操作:简单的分页查询 :获取自增主键值 :球队和球员的练习:数据库连接池如果不使用连接池,一万次请求需要对应一万次数据库的连接,频繁开关连接非常浪费资源,使用连接池将连接重用,用完之后的连接放回连接池中等待下一次使用,从而避免了频繁开关连接如何使用:dependencies 标签下添加:<!-- 数

2021-09-24 00:32:33 387 1

原创 Java - 数据库连接驱动JDBC详解(一)

目录JDBC如何使用JDBCStatement SQL执行对象JDBCJava DataBase Connectivity: Java数据库连接, 是Sun公司提供的一套编程接口,用于通过Java语言和数据库进行连接.为什么使用JDBC: Java语言有可能会连接多种数据库,如果没有JDBC,Java程序员需要每一种数据库都学习一套独立的方法, Sun公司定义了JDBC接口后,各个数据库厂商根据此接口写各自的实现类(驱动), 对于Java程序员而言只需要掌握JDBC接口中的方法调用即可, 通过一套方

2021-09-24 00:03:45 136

原创 SQL基础学习(三)

目录课程回顾综合练习having子查询(嵌套查询)关联关系关联查询关联查询之等值连接关联查询之内连接关联查询之外连接关联查询总结:JDBC如何使用JDBCStatement SQL执行对象课程回顾主键约束: primary key 表示数据唯一性的字段称为主键,创建表时给表字段添加的限制条件, 唯一且非空自增 auto_increment ,从历史最大值+1 只增不减注释 comment导入*.sql 文件 source 路径;is null 和 is not null去重

2021-09-23 23:52:55 173

原创 SQL基础学习(二)

目录课程回顾练习:主键约束 primary key主键约束+自增 primary key auto_increment导入*.sql文件注释 commentis null 和 is not null去重 distinct比较运算符 > < >= <= = !=和<>and和orbetween x and y 包含x和yin(x,y,z)综合练习模糊查询 like排序 order by分页查询 limit数值计算 + - * / %别名聚合查询分组查询 group

2021-09-12 23:59:16 137

原创 SQL基础学习(一)

目录数据库如何连接数据库软件DDL 数据定义语言数据库相关SQL数据库相关练习:表相关SQL数据库和表相关练习:DML 数据操作语言练习:数据类型数据库以前通过IO技术对数据进行增删改查操作,需要书写大量相关代码,并且不能保证程序的执行效率,开发周期会很长,互联网行业,凡是遇到频繁使用并且实现又很复杂的 肯定会有一个通用的解决方案,我们只需要学会如何使用即可,数据库软件就是这样一个三方的对数据进行增删改查的解决方案,学习数据库软件主要就是学习一门语言 叫做SQL(Structed Query Lan

2021-09-12 23:42:35 193

原创 Java 学习之路(二十一)- 多维数组

目录如果要存储多年的成绩怎么办?多维数组如果要存储多年的成绩怎么办?为每年创建一个数组?这种行为和为每一门成绩创建一个变量很像!多维数组创建一个二维数组,二维数组是一位数组的自然延伸double[][] scores = new double[3][6]// 创建一个double类型的二维数组double[][] multiDimensionArr = new double[3][5];// 循环查看每个数组元素的值,在给数组元素赋值前,数组元素的值其实都是每种类型的初始值。for

2021-08-15 23:27:04 106

原创 Java 学习之路(二十)- 认识数组和变量

目录重新认识基本类型的变量认识数组 —— 名与实理解数组的名与实数组=数组变量+数组的实体数组的长度数组索引过界和初始值让变量指向新的数组重新认识基本类型的变量一个简单的使用变量的程序。变量的基本逻辑:有定才有变。在人看来,固定的是名字,变化的是名字对应的值。对计算机来说,固定的是地址,变化的是值。理解计算机如何使用内存,完成变量的功能内存就是一堆白纸,只能通过页码编号访问,也就是所谓的内存地址。变量就是使用一个固定的地址加上这个地址对应的内存。计算机通过地址,读写地址对应的内存的值。完成变量

2021-08-15 23:19:22 111

原创 Java 学习之路(十九)- 数组

目录用数组保存成绩什么是数组,数组的语法数组的特点是:创建和使用一个数组的语法用数组处理6门课的成绩创建数组来表示6门课的成绩求出最高的成绩用数组保存成绩语数外物化生的成绩怎么表示?用六个变量表示,如果有更多的科目怎么办?如果有更多的科目怎么办?如果想求出成绩最高的科目怎么办?什么是数组,数组的语法数组的特点是:数组是相同类型的变量的集合,所有元素的类型都一样可以指定数组包含的元素个数,最多为 int 的最大值个元素有固定的顺序每个元素都有一个固定的编号,称之为索引 ( index

2021-08-15 23:03:10 57

原创 Java 学习之路(十八)- 循环和判断的总结

目录注释单行注释多行注释生成指定范围内的随机数新功能生成一个在指定范围内的随机正整数程序关键点从标准输出读取字符串和整数新功能猜数字的游戏善假于物也游戏功能注释单行注释以 // 为开始,到这一行结束都是注释内容注释可以是任何内容可以在一行的开始注释,也可以在程序内容后面添加注释注释不会对程序有任何影响多行注释使用 /* 开头, */ 结尾,中间是注释内容。生成指定范围内的随机数新功能Math.random() 生成随机数,随机数在 0 到 1 之间,类型是 double生成一个在

2021-08-15 22:47:53 73

原创 Java 学习之路(十七)- 程序执行流程控制之 switch-case 语句

目录将阿拉伯数字转换为中文数字使用 if-else 完成使用 switch-case 语句简化程序switch 语法中的 breakswitch 语句语法点总结将阿拉伯数字转换为中文数字使用 if-else 完成int n = 1;String ret = n + "对应的汉字是";if (n == 0) { ret = ret + "零";} else if (n == 1) { ret = ret + "壹";} else if (n == 2) { ret =

2021-08-15 21:57:38 317

原创 Java 学习之路(十六)- 程序循环之 while 语句

目录用 while 语句增强找整除数的程序增强点:找出n个可以被整除的数while 语句的语法do-while 语句死循环(endless loop)一个看似死循环却不是死循环的例子用 while 语句增强找整除数的程序增强点:找出n个可以被整除的数while 语句的语法while (条件表达式) {while 循环体}条件表达式的结果是一个 boolean 值,如果为 true,则执行循环体,如果为 false,则循环结束而循环体是一个代码块。所以,循环也是可以嵌套别的语句的,包括

2021-08-15 21:40:40 239

转载 Java 学习之路(十五)- 代码块和变量的作用域

目录大括号括起来的就是代码块变量的作用域代码块里创建和使用变量理解作用域和命名空间作用域和命名空间for 循环嵌套计算乘法表大括号括起来的就是代码块代码块的示例有名字的代码块:if-else 代码块,for 循环代码块,main方法代码块代码块也叫体,比如:for循环体,main方法体代码块可以嵌套代码块内部可以使用外部变量public static void main(String[] args) { int outer = 100; { int inn

2021-08-15 20:55:18 352

原创 Java 学习之路(十四)- 程序循环之 for 语句

目录for 语句简化输出连续26个字符的程序简化并增强找整除数的程序break 语句结束循环continue 语句跳过不符合条件的循环for 语句for ( 初始语句; 循环体条件表达式; 循环体后语句 ) {for 循环体}让程序在满足某条件时,重复执行某个代码块。for 是java中的关键字for 语句语法和简单的示例程初始语句在 for 循环开始前执行一次,以后不再执行;循环体条件表达式在每次循环体执行前会执行,如果为 true,则执行循环体,否则循环结束;循环体后语句会在每次循环

2021-08-15 20:41:39 124

原创 Java 学习之路(十三)- 程序执行流程控制之 if-else 语句

这里写目录标题if-else 语法增强寻找可以被整除的程序if-else 的嵌套求最大的数if-else 的简化if-else 省略大括号if-else 语法if ( 条件 boolean 值 ) {条件为 true,执行的代码块} else {条件为 false,执行的代码块}if-else 语法,只有一个语句块被执行if 和 else 都是 Java中的关键字if 语法把 if-else 看做一个表达式,程序整体还是顺序执行的使用 if-else 来多买两个肉包子买3个

2021-08-15 20:20:54 139

原创 Java 学习之路(十二)- 操作符和数据类型总结

目录自增和自减操作符打印26个连续的字符程序中的知识点找到可以被整除的数程序中的知识点自增和自减操作符自增自减操作符是可以直接改变变量值的操作符前加加 和 前减减后加加 和 后减减其实是一个 +1(或 -1 ) 操作和一个赋值操作的缩写int a = 1;// a++=1 , 先使用了a (打印出 a 此时的值), 然后再给 a + 1 , 再赋值给 a System.out.println("a++=" + a++);// a=2 , 执行完了a++,此时 a 的值已经改变Syst

2021-08-15 19:49:46 74

原创 Java 学习之路(十一)- 字符集编码和字符串

目录什么是字符集和编码什么是字符集(Charset)什么是编码(Encoding)编码和字符集介绍常用的字符集简介Java 中的字符集ASCII码和转义符(escape character)如何输出特殊字符转义符语法和常用的转义符字符串的“加法”将变量穿插在字符串中输出字符串不是 Java 中的基本数据类型什么是字符集和编码什么是字符集(Charset)字符集就是字符的集合。一般会包含一种语言的字符.比如 GBK ,是包含所有常用汉字字符的字符集。ASCII 是包含英文字符的字符集。字符就是 Ja

2021-08-15 19:25:00 101

原创 Java 学习之路(十)- 基本数据类型的更多语法点

目录变量要先赋值后使用计算并赋值运算符数据类型自动转换自动类型转换数值精度顺序char 可以转换为 int强制类型转换数值溢出从数值计算溢出理解程序员和编程语言编程语言的作用程序员的任务变量要先赋值后使用int a = 0; // 声明变量需要初始值int b = a + 1;int a; int b = a + 1; // 报错计算并赋值运算符作用是为了让代码更简洁。比如 a=a+10; ,可以简化为 a+=10;+=-=/=*=%=&=^=|=<&lt

2021-08-15 18:42:10 94

原创 Java 学习之路(九)- Java中的位运算符

目录字面值的八进制和十六进制以 `0` 开头的整数为八进制以 `0x` 开头的整数位十六进制按位运算符按位运算符位移运算符位移运算符字面值的八进制和十六进制以 0 开头的整数为八进制05 就是十进制的 5011 就是十进制的 9以 0x 开头的整数位十六进制0xf 就是十进制的 150x11 就是十进制的 17int a = 05;int b = 011;int c = 0xF;int d = 0x11;System.out.println(a); // 5System.

2021-08-14 23:45:31 98

原创 Java 学习之路(八)- Java中的运算符

目录什么是运算符?取模运算符:%除法运算符: /比较运算符和布尔运算符比较运算符布尔运算符小括号运算符运算符优先级理解运算符,灵活记忆优先级什么是运算符?运算符对一个或者多个值进行运算,并得出一个运算结果。运算符的运算结果类型有的是固定的,有时候会根据被计算的值变化。比如两个 int 相加,结果的类型就是 int。 两个 byte 相加,返回值的类型就是int 。混淆点:除赋值运算符外,运算符本身不会更改变量的值(除了赋值运算)。int a = 10;System.out.println(a

2021-08-14 23:10:26 65

原创 Java 学习之路(七)- Java中的基本数据类型

目录超过int的范围会怎么样?认识二进制十进制二进制十六进制位和字节数字的基本数据类型整数类型浮点(小数)类型符号位布尔和字符数据类型超过int的范围会怎么样?public class PrimaryTypes { public static void main(String[] args) { int bigNum = 99999999999; // 超出 int 范围,报错 long bigNum = 99999999999L; }}认识二进制十

2021-08-14 21:23:05 122

原创 Java 学习之路(六)- 从加减乘除到代码块

目录JAVA代码三级跳--表达式,语句和代码块是区分大小写的表达式(expression)语句(statement)代码块Java 是区分大小写的字面值不简单int x = 5; int y = x + 1; 包含多少语法点?INT x=5;int y = x +1;JAVA代码三级跳–表达式,语句和代码块是区分大小写的public class Variable1 { public static void main(String[] args) { int a = 1;

2021-08-14 20:42:29 60

原创 Java 学习之路(五)- 从加减乘除到变量

目录计算加减乘除基本数据类型—— int关键字(key word)和标示符(Identifier)关键字标示符:用变量解决问题计算加减乘除public class HelloWord { public static void main(String[] args) { System.out.println(5 + 6); System.out.println(5 - 6); System.out.println(5 * 6); System.out.println(5

2021-08-14 20:24:40 96

转载 Java 学习之路(四)- IntelliJ IDEA集成开发环境的安装和使用

目录IDE是什么EclipseIntelliJ IdeaNetBeansIntelliJ Idea 的使用IDE是什么IDE是集成开发环境:Integrated Development Environment的缩写。使用IDE的好处在于,可以把编写代码、组织项目、编译、运行、调试等放到一个环境中运行,能极大地提高开发效率。IDE提升开发效率主要靠以下几点:编辑器的自动提示,可以大大提高敲代码的速度;代码修改后可以自动重新编译,并直接运行;可以方便地进行断点调试。目前,流行的用于Java开

2021-08-14 19:44:32 401

原创 Java 学习之路(三)- 详解HelloWorld程序

目录HelloWorld程序类(class)语法元素main方法(main method)语法元素System.out.println()关键知识点:HelloWorld程序public class HelloWrold { public static void main(String[] args) { System.out.println("Hello World!"); }}这段代码包含以下内容:类(class)语法元素类—— classHelloWorld类

2021-08-14 19:27:06 102

原创 Java 学习之路(二)- 编写运行第一个程序——Hello World

目录编写运行第一个程序——Hello World编写运行第一个程序——Hello World下载编辑器——推荐使用sublime编辑器新建一个HelloWorld.java文件:保存,进入文件目录下,打开命令行,输入:javac HelloWorld.java控制台没有任何回应,并且此时该目录下会多出一个 HelloWorld.class文件,代表编译成功!这个是java编译后可执行文件,接下来输入:java HelloWorld注意这里不需要输入文件名!回车后,控制台会出现 Hello w

2021-08-14 19:13:45 165

空空如也

空空如也

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

TA关注的人

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