自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(325)
  • 资源 (6)
  • 收藏
  • 关注

原创 Promise与异步函数(async)

Promise,中文译为期约(期待与约定),是一个标识异步操作结果的对象。通过Promise可以观察异步操作的结果。Promise对象不是结果,而是结果的占位符。Promise本身并不执行任何操作,它只是一种观察异步操作结果的方式。

2023-12-23 14:29:08 898

原创 bind、call、apply 区别?

方法中,在定时器中是作为回调函数来执行的,因此回到主栈执行时是在全局执行上下文的环境中执行的,这时候。的指向,后面传入的也是一个参数列表(但是这个参数列表可以分多次传入)。的指向,第二个参数是函数接受的参数,以数组的形式传入。指向后原函数会立即执行,且此方法只是临时改变。指向后原函数会立即执行,且此方法只是临时改变。作用是改变函数执行时的上下文,简而言之就是。bind方法和call很相似,第一参数也是。的指向,后面传入的是一个参数列表。接受两个参数,第一个参数是。方法的第一个参数也是。

2023-12-13 00:18:20 532

原创 MyBatis在注解中使用动态查询

包含动态查询的SQL语句

2023-11-19 20:45:36 458

转载 Git 报错 Updates were rejected because the remote contains work that you do

这个报错实在是让我受不了了,每次不管是‘命令行’ 还是 idea 提交都会出现这样让人心态爆炸的问题。然而每次出现又重复的查找解决办法,这次实在受不了了,便有了这篇文章,希望它也能帮助到心态爆炸的你。经过多次出现同样的问题,我已经对这个问题的原因了如指掌了,这是因为在本地新建库后,与远程仓库的内容不一致导致的(远程仓库有一些内容本地没有)。输入命令的地方在 idea 的下方,有一个 terminal ,点击之后,即可输入上面的命令。2、idea出现同样的报错,解决方式同上。1、命令行出现这种情况。

2023-10-05 00:17:00 291

原创 存储过程报Illegal mix of collations错误的解决方法

产生错误的原因就是=两端进行比较的gender和_gender所采用的字符集排序方式不同。

2023-09-06 23:25:28 932

转载 Mybatis--调用存储过程接收存储过程返回的多结果集以及出参参数接收

从上面可以看出,在Mapper.xml的映射文件定义了两个resultMap标签,是因为在这里存储过程返回了两个结果集,一个是根据入参参数查询exam表返回的查询结果,还有一个是查询Jigou表返回的查询结果,所以要写两个相应的resultMap标签来接收存储过程返回的结果集。>>类型,最外面的List表明有几个结果集,里面的List表明该结果集有多少条数据。有时候在程序开发中,需要用到存储过程,这里讲解了在Springboot的项目下,Mybatis如何调用存储过程,以及接收存储过程返回的多个结果集。

2023-09-06 22:18:19 749 1

转载 JDBC之CallableStatement执行存储过程

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。我们在开发的过程中,经常在一个功能中,会执行多条SQL语句,这时就可以将这一组SQL语句封装在一个存储过程中,在应用端就可以通过调用存储过程来获取对应的结果,而不用执行许多SQL语句了。

2023-09-06 20:50:18 557

原创 select语句的执行顺序

select语句的语法格式如下。select 字段列表from 数据源[ where条件表达式 ][ group by 分组字段 ][ having条件表达式 ][ order by 排序字段 [ asc | desc ] ]

2023-09-04 17:39:10 311

原创 axios模拟表单提交

config里面设定发起post请求时的额外设置,header是设置(config)的一部分,而header中需要显式的设置content-type为application/x-www-form-urlencoded,这样对于服务器来说这就是一个表单提交数据的请求。点击登录按钮时,将双向绑定的formData提交到controller。如果是表单提交的数据,那么handler接收的方式不用添加任何额外的注解,利用名称对应,类型正确的方式就可以接收表单数据了。

2023-08-29 10:58:53 896

转载 Uncaught Error: []: getActivePinia was called with no active Pinia. Did you forget to install pini

使用pinia替代vuex还是有一些小坑的。

2023-08-28 22:47:59 661

原创 VUE3添加全局变量

在vue3.0中注入全局方法不是在prototype上挂载了,而是添加在config.globalProperties属性上。虽然已经不存在使用prototype时可能出现的覆盖问题,但是加个。符号还是继承vue2的规范习惯代表全局。

2023-08-27 13:04:33 1165 2

原创 VUE3的侦听器

对于具有多个依赖项的观察者来说,使用可以消除手动维护依赖项列表的负担。对于只有一个依赖项的情况来说,的好处相对较小。但是对于有多个依赖项的侦听器来说,使用可以消除手动维护依赖列表的负担。此外,如果你需要侦听一个嵌套数据结构中的几个属性,可能会比深度侦听器(deep watch)更有效,因为它将只跟踪回调中被使用到的属性,而不是递归地跟踪所有的属性。但这是一把双刃剑。每次回调函数更新时,都需要进行关键性的思考,因为每一个新的添加都会被加入到依赖项中,并且当它发生变化时,将触发一个评估。使用watch。

2023-08-26 20:39:48 160

转载 Fetch or Axios

在构建Javascript项目时,我们可以使用window对象,并且它带有许多可以在项目中使用的出色方法。这些功能之一是Fetch API,它提供了一种简单的全局.fetch()方法,这是一种从API异步获取数据的逻辑解决方案。让我们看一下.fetch()方法的语法。fetch(url)})在上面的示例中,您可以看到简单的获取GET请求的语法。在.fetch()方法中,我们有一个强制性参数url,它返回一个Promise,可以使用Response对象来解决。.fetch()

2023-08-26 13:06:46 42

原创 Java获取环境变量和运行时环境信息和自定义配置信息

做JDBC编程时习惯性的把driver, url, user和password提取到配置文件中。

2023-08-25 12:24:56 899

原创 同源政策与CORS

但是读到的 Access-Control-Allow-Origin头信息是缓存下的 https://foo.taobao.com 而不是自己想要的 https://bar.taobao.com,这时浏览器就报跨域错误了,虽然它应该是能访问到这份资源的。"预检"请求用的请求方法是OPTIONS,表示这个请求是用来询问的。上面的代码使用 POST 请求发送一个 XML 请求体,该请求的 Content-Type 为 application/xml,且使用了一个自定义的X-PINGOTHER 请求头。

2023-08-25 00:00:17 120

原创 MySQL日期时间格式化符

类似Java的SimpleDateFormat,MySQL使用DATE_FORMAT函数将日期值格式化为特定格式。另外MySQL的月(%c)、日(%e)、时(%k)都有无前导0的格式,可以方便特殊业务场景下使用。最常用的格式字符串应该就是%Y-%m-%d %H:%i:%s了。

2023-08-22 11:30:41 355

原创 利用vue-router跳转的几种方式

跳转到指定路径,并将跳转页面压入history栈中,也就是添加了一个页面记录。跳转到指定路径,将history栈中的当前页面替换为跳转到的页面。在histroy栈中向前或者向后跳转n个页面,n可为正整数或负整数。

2023-08-18 12:07:38 1814 1

原创 RabbitMQ简单使用

RabbitMq是一个消息中间件:它接收消息、转发消息。你可以把它理解为一个邮局:当你向邮箱里寄出一封信后,邮递员们就能最终将信送到收信人手中。生产者只发送消息,发送消息的程序即为生产者:消息队列就相当于RabbitMq中的邮箱,消息存储在消息队列中。队列本质上是一个大的消息缓存,它能存多少消息,取决于主机的内存和磁盘限制。多个生产者可以往同一个消息队列中发送消息;多个消费者可以从同一个队列中获取数据。消费者是一个等待接收消息的程序:注意:生产者、消费者和RabbitMq可以在不同的机器上;

2023-08-15 00:07:21 1538

原创 Docker部署rabbitmq遇到的问题 Stats in management UI are disabled on this node

【代码】Docker部署rabbitmq遇到的问题 Stats in management UI are disabled on this node。

2023-08-13 22:59:39 841

原创 Spring Boot Maven package时显式的跳过test内容

maven package时可以跳过Spring Boot项目中的各种TEST代码,避免一些打包中的错误。

2023-08-11 11:09:02 883

转载 Lombok版本过低导致maven打包时报错

Lombok版本过低导致maven打包时报错。

2023-08-11 10:15:40 1115

原创 在Ubuntu中使用Docker启动MySQL8的天坑

采用停止并删除原有容器,用docker run创建新容器,添加上 --lower_case_table_names,但只要你的映射(-v)与之前的容器是一样的(这样做是希望新容器中仍然能有原容器中创建的数据库与数据表),那新容器会在启动后(可以生成ID)几秒钟发生错并退出,如果你在docker run中还添加了 --restart=always,那就会看到容器一直在不停从重启。lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写。

2023-08-11 01:17:10 917

原创 MBG中update语句的区别

(User record, UserExample example) thorws SQLException 按条件更新值不为null的字段。使用以上的方式更新数据时不用提供主键,根据Example中构建的条件MyBatis就可以进行数据记录的更新。(User record) thorws SQLException 按主键更新值不为null的字段。使用以上的方式更新数据时必须提供主键,MyBatis根据主键进行数据记录的更新。(User record) thorws SQLException 按主键更新。

2023-08-04 17:29:35 158

原创 ES6标准下在if中进行函数声明

这句时(linenumber 7,赋值还未进行),此时块中执行了function a的函数声明,该声明被同步提升到了块外,影响了本地a,本地a此时从undefined变为了1,这也是2的证实,执行到具体的“声明”语句时,全局就有了值,这与ES6中使用var声明变量时的效果是一样的。===========================华丽的分割线====================================根据这三条规则,浏览器的 ES6 环境中,块级作用域内声明的函数,行为类似于。

2023-07-17 00:42:10 563

转载 MySQL的10种常用数据类型

如果存储时,小数点部分若超出范围,就分以下情况:若四舍五入后,整数部分没有超出范围,则只警告,但能成功操作并四舍五入删除多余的小数位后保存,例如在FLOAT(5,2)列内插入999.009,近似结果是999.01。例如,'19970523'和'970523'被解释为 '1997-05-23',但'971332'是不合法的(它有一个没有意义的月和日部分),将变为'0000-00-00'。text文本类型,可以存比较大的文本段,搜索速度稍慢,因此如果不是特别大的内容,建议使用char,varchar来代替。

2023-06-25 14:08:31 2314

转载 MySQL安装过程出现starting the server报错的解决方案

报错情况:starting the server报错在MySQL安装过程中,出现如下情况报错,即Configuration Steps中Starting the server步骤无法进行,安装失败。出现该错误的原因可能是电脑并非第一次安装且未清除干净之前安装的残留,可能是因为网络服务权限不足。下面将介绍针对这两种情况的解决办法,推荐一起使用,方便快速解决问题。

2023-06-22 14:27:08 4840

转载 MyBatis配置文件mybatis-config详解

例如,当一个Java EE的【应用程序部署】在类似JBoss,WebLogic,GlassFish应用【服务器】上时,它们会使用EJB进行应用服务器的事务管理能力。MyBatis支持配置多个environment环境,可以将应用部署到不同的环境上,如DEV【开发环境】,TEST【测试环境】,QA【质量评估环境】,UAT【用户验收环境】,PRODUCTION【生产环境】,可以通过将默认environments的【default属性】设置成想要的environment的id值。在生产环境中,优先考虑这种方式。

2023-06-21 14:50:34 4183

原创 常用CRON表达式

6L 2002-2005 2002年至2005年的每月的最后一个星期五上午10:15触发。在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发。

2023-06-19 12:50:31 171

转载 Javascript 中三个点的三种用法

如果一个 JavaScript 函数需要接受可变数量的参数,我们就可以使用这三个点来定义一个rest 参数ret+=i;return ret;102078如上所示,这三个点使函数能接收可变量参数,并将它存储在一个数组中。这个特性使得 Javascript 函数更灵活更强大。这里需要注意的是,rest 参数是收集所有剩余参数,所以它必须是函数的最后一个参数,如果我们把它放在中间return;很多人都说 Javascript 作为一种开发语言有很多缺陷。这是事实,但它也是不断的改进,变得越来越优雅。

2023-06-17 21:59:44 138

转载 向请求头添加自定义属性,实现token功能时,出现CORS跨域导致请求失败( has been blocked by CORS policy: ... No ‘Access-Control-All)

场景:在使用 SpringBoot + Vue 进行前后端分离的开发过程中,部分功能是需要当用户登陆成功时后端(SpringBoot)向前端(Vue)返回一个token值,前端将这个token值放在以后每个请求的请求头中,后端先从拦截器中验证token值的存在,再放行请求,以确保不会被别人恶意修改、删除数据,结果出现了CORS跨域导致请求失败的情况。非简单请求的CORS请求,会在正式通信之前,增加一次HTTP查询请求,称为 “预检” 请求(preflight)。由于在后端拦截器中拦截了所有的请求,

2023-06-17 11:55:31 2442

转载 前后端雪花算法丢失精度问题

在分页查询时,服务端会将返回的R对象进行json序列化,转换为json格式的数据,而员工的ID是一个Long类型的数据,而且是一个长度为 19 位的长整型数据, 该数据返回给前端是没有问题的。那么具体的问题出现在哪儿呢?问题实际上, 就出现在前端JS中, js在对长度较长的长整型数据进行处理时, 会损失精度, 从而导致提交的id和数据库中的id不一致。在WebMvcConfig配置类中扩展Spring mvc的消息转换器,在此消息转换器中使用提供的对象转换器进行Java对象到json数据的转换。

2023-06-11 20:04:15 240

原创 在element plus的<el-table>中显示本地图片

直接代码走起,一目了然。

2023-06-07 22:57:16 1712

原创 弹性盒子中的flex

所以,在父容器长度为600px的情况,item1的放弃不合理的计算结果40px,采用content宽度43.98px。现在三个子组件的flex-basis是0%(也就是0px),auto(也就是自身宽度,300px)和200px,而父容器的宽度足足有1000px,也就意味着有500px的剩余,也就意味着三个子组件是可以变宽的,那么三个子组件该如何按比例来分配这500px呢?最终,当三个子组件在父容器中呈现时,第一个子组件的宽度是200px,第二个子组件的宽度是500px,第三个子组件的宽度是300px。

2023-06-06 14:12:27 347

转载 js中的${}作用

代替以前传统复杂的引号双引号与+的拼接,简介明了,非常好用。注:反单引号:键盘左上角esc下方的按键。ES6中新增的字符串方法,其作用是配合。

2023-06-05 14:22:48 48

原创 Nginx+花生壳实现个人网站

因为后面要做内网穿透的映射,所以这里端口只会体现在做内网映射的配置处,配置完毕后,只需要在浏览器里面输入虚拟的网络域名,不需要额外添加端口号。index处的index.html和index.htm就是指,用html目录下的index.html文件作为优先响应内容,如果没有index.html就用index.htm文件。,(这个域名大概形式是一串数字和字母的组合.zicp.fun)接下来内容主机地址就是本机的127.0.0.1,端口号就是在Nginx中配置的8086,点击确定,配置生效。

2023-06-05 12:04:18 976

原创 axios解决跨域问题

2. 注意替换的规则,是'/myapi' 替换了target,也就是http://apis.juhe.cn/,这样替换后URL是没有最后的/,如果在http://apis.juhe.cn/后面还有URL,要注意替换后访问路径的拼接。如果少了/,导致URL不正取,浏览器会报CORS policy错误!1. proxy:{...}必须写在devServer对应的配置对象中。原始的聚合天气预报访问URL是。这样才是正确的URL。

2023-06-04 22:40:56 3550

转载 常用的line-height使内容垂直居中,你真的懂它的原理吗?

如图,每一行文字,可看成由上间距、文本内容、下间距构成,根据行高的标准定义,行高等于两条基线之间的距离,即第一行的3-4+上下间距+第二行的1-2+2-3,因为css中每一行的上间距和下间距肯定是相等的,所以代换一下,行高就等于它本身的上间距+下间距+文本高度。本例子中,我们设置div的高度为200px,然后里面有一行文本,我们设置了行高为200px,设置完200px后,文字本身16px不会改变,变的是它的上间距和下间距。可以发现和上面的例子代码位移不一样的地方是文本变多了一些,先来看一下此时的效果。

2023-06-04 19:44:16 4286

原创 element-plus图标不显示问题

可以看到,使用方案2最大的区别就是icon属性是直接赋值,而不是v-bind绑定(:icon)。方案2其实是针对方案一的一个优化,对于大量使用icon的项目来说相对比较友好。如果图标引用的比较少,那么采用方案1,如果大量的使用了图标,就采用方案2。然后是导入并一次性添加所有的ElementPlus ICON。首先:在main.js中将icon全部引入并注册到页面中。这就是elemunt-ui3官网一致示例中的使用方式。然后就是使用了,在页面中直接使用即可。,并做了一些修订删改。

2023-06-04 16:31:16 2590

原创 mysql 用户管理和权限设置

MYSQL到底都有哪些权限呢?CREATE数据库、表或索引创建数据库、表或索引权限DROP数据库或表删除数据库或表权限数据库、表或保存的程序赋予权限选项REFERENCES数据库或表ALTER表更改表,比如添加字段、索引等DELETE表删除数据权限INDEX表索引权限INSERT表插入权限SELECT表查询权限UPDATE表更新权限视图创建视图权限SHOW VIEW视图查看视图权限存储过程更改存储过程权限存储过程创建存储过程权限。

2023-05-26 21:21:18 1772

转载 What is the difference between properties and attributes in HTML?

是该对象对应的HTML标签元素上的属性。对于一个DOM节点对象,就是这个对象上的属性;

2023-05-18 13:29:59 42

App Inventor 2 Essentials

App Inventor 2的开发书籍,App Inventor与Scratch类似,利用可视化拖拽实现复杂的编程逻辑,特别适合针对少儿的编程训练和学习

2018-02-06

如何用Cocos2d-android写一个小游戏案例源代码

如何用Cocos2d-android写一个小游戏案例源代码

2017-05-22

Android4游戏入门经典 原书第二版

经典的安卓游戏开发入门,借助3个游戏实例循序渐进的介绍了安卓游戏开发过程中游戏框架的搭建,各种资源文件的加载及使用,OpenGL ES 2D/3D等技术

2014-08-21

Apache Kafka(英文版)

好像kafka的相关资料并不是很多,这是一本英文参考书,供大家下载学习

2014-08-19

C++傻瓜书第7版(英文版)

傻瓜书系列的一贯风格,适合初学者的入门读物

2014-08-19

空空如也

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

TA关注的人

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