Mybatis-Plus中枚举类型注入失败
问题描述项目持久层框架是Mybatis-plus(以下简称mybatis),数据库是Mysql最近在将项目中的一些字段改为枚举类型,但是后来发现枚举变量一直注入不进去通过对mybatis的 defaultEnumTypeHandler配置(默认枚举处理类) 的org.apache.ibatis.type.EnumOrdinalTypeHandler#valueOf方法进行DEBUG,发现value参数的值是布尔类型这时第一时间想到可能是因为数据库使用tinyint类型导致的
解决方案解决方法就很简单了,只需要将数据库字段的tinyint类型改为int就好了。可以看到value的值变成了1,而不是上面的true了,问题至此解决但是你说,诶,我任性,我就要设置为tinyint怎么办呢,那我们可以把tinyint的长度设置为4,这样问题也能得到解决
前后端分离项目使用postMessage解决QQ快捷登录
最近在给毕业设计加功能(第三方授权登录),正愁用什么方式让前端知道我授权成功了(前后端分离项目,不想使用轮询)正好最近在备考1+x考证,在刷题的时候了解到一种前端postMessage技术,决定在这么项目上试试
什么是postMessage
window.postMessage() 方法可以安全地实现跨源通信。通常,对于两个不同页面的脚本,只有当执行它们的页面位于具有相同的协议(通常为https),端口号(443为https的默认值),以及主机 (两个页面的模数 Document.domain设置为相同的值) 时,这两个脚本才能相互通信。window.postMessage() 方法提供了一种受控机制来规避此限制,只要正确的使用,这种方法就很安全。
语法1otherWindow.postMessage(message, targetOrigin, [transfer]);
为什么使用postMessage在使用快捷登录的时候(如QQ和微信)会打开一个新的页面进行“授权服务提供商”提供授权,由于是新的窗口所以登录页面如何确认是否授权成功成了一个问题
以往的解决方案是登录页面使用 ...
JavaScript实现文件读取
1234567891011function load(name) { let xhr = new XMLHttpRequest(), okStatus = document.location.protocol === "file:" ? 0 : 200; xhr.open('GET', name, false); xhr.overrideMimeType("text/html;charset=utf-8");//默认为utf-8 xhr.send(null); return xhr.status === okStatus ? xhr.responseText : null;} let text = load("test.txt");console.log(text);
Mysql8忘记密码解决办法
Mysql8 忘记密码的解决办法
先暂停服务12345# 首先暂停服务net stop mysql# 以绕过权限表的形式开启mysql服务mysqld --console --skip-grant-tables --shared-memory
开启服务后,打开一个新的命令窗口12# 无需输入密码(在输入密码处可直接回车进入)mysql -u root -p
修改密码为空,注意authentication_string的值是空字符串12use mysql;UPDATE mysql.user SET authentication_string='' WHERE user = 'root';
此刻允许下面sql可以看到密码以及重置为空1SELECT host,user,authentication_string FROM mysql.user;
关闭之前保留的那个控制台窗口和现在使用的这个控制台窗口一共关闭两个控制台窗口。然后再打开一个新的窗口,启动MySQL的服务。12345# 启动mysqlnet start mysql# 无需密码登录mysql ...
油猴插件安装脚本教程
油猴脚本安装教程=>https://www.xiaosm.cn/archives/4
脚本探索大门https://greasyfork.org/zh-CN
先推荐一个脚本——创新创业就业网课小助手当然其他的脚本也可以在这个网站中找到在这里面可以搜到你可能想要的东西
打开一个你想要安装的脚本(这里以上面推荐的网课助手为例),点击安装此脚本,在弹出的页面再点安装就好了,打开对应的网站脚本便会开始工作
油猴插件(扩展)安装教程
油猴插件是什么就不多说了,这不是今天的主题
1.Chrome安装如果你有梯子可以直接在谷歌插件商店安装https://chrome.google.com/webstore/category/extensions如果你没有,请看下面
首先下载Tampermonkey这个东西需要梯子,我这里直接提供下载链接,点击即下https://www.zhoupb.com/Tampermonkey_extension_4_9_0_0.crx下载完成后,打开chrome(谷歌浏览器,文章内统一叫chrome)1.在chrome浏览器的地址栏输入,或直接点击打开chrome://extensions/
2.点击右上方的开发者模式。如图!
3.将刚刚下载的文件拖入到浏览器中。如图。
4.点击“添加扩展程序”。可能会弹出一个新页面,关闭就好。至此。Tampermonkey安装完成。
2.Edge安装打开系统自带商店,搜索Tampermonkey,点击安装即可
3.新版Edge安装打开链接https://microsoftedge.microsoft.com/addons/deta ...
java实现在线预览PDF文件
最近碰到一个需求,要求实现office文件和PDF文件能够实现实时预览的效果
最后经过查找发现现在有新的头部信息application/pdf
在后端读取文件以后设置头**Content-Type: application/pdf**
现在主流浏览器均支持这种资源的MIME类型 ( 测试了ie会直接进行下载 )
对于office文件我们就可以将它转变为pdf文件进行输出,当然这会对服务器的压力较大,我会寻找更好的方法
最后附上代码
123456789101112@RequestMapping(value = "/pdf")public String viewPdf(HttpServletResponse response) throws IOException { FileInputStream in = new FileInputStream(new File("")); OutputStream out = response.getOutputStream(); response.setHeader(& ...
排序算法-计数排序
计数排序是一个非基于比较的排序算法,该算法于1954年由 Harold H. Seward 提出。它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k)(其中k是整数的范围),快于任何比较排序算法。当然这是一种牺牲空间换取时间的做法,而且当O(k)>O(n*log(n))的时候其效率反而不如基于比较的排序(基于比较的排序的时间复杂度在理论上的下限是O(n*log(n)), 如归并排序,堆排序)
1.排序过程
找出待排序的数组中最大和最小的元素;
创建一个桶(数组),大小是最大值-最小值+1。
遍历待排序数组,并往相应的桶里计数
遍历桶,找出计数大于0的下标,重新填入待排序数组
2.代码实现(Java)123456789101112131415161718192021222324252627public static void countingSort(int[] arr) { if (arr.length == 0) return; int min = arr[0], max = arr[0]; // 查找最大最小值 for ( ...
力扣-1111-有效括号的嵌套深度
1111. 有效括号的嵌套深度
题目太长了,我就不贴上来了
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-nesting-depth-of-two-valid-parentheses-strings著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
欢迎来到一日一题的阅读理解,刚开始看到这个题,What are you talking about?琢磨题目意思,看了下官解,正所谓交卷五分钟,阅题两小时
下面开始我们的阅读理解,哦不,解题:请先忘记你之前看到的题目。我们先分析这句话“ 使 max(depth(A), depth(B)) 的可能取值最小”意思就是A与B的长度是差不多的,我把奇数位给A,偶数位给B,就会几乎等长了。
括号
(
(
(
)
)
(
)
)
下标
0
1
2
3
4
5
6
7
深度
1
2
3
3
2
2
2
1
结果
1
0
1
1
0
0
0
1
由上表格我们可以发现,括号的深度为奇数的时候给A,标识为1,偶数给 ...
力扣-912-排序数组(中等)
给定一个整数数组 nums,将该数组升序排列。
示例 1:输入:[5,2,3,1]输出:[1,2,3,5]
示例 2:输入:[5,1,1,2,0,0]输出:[0,0,1,1,2,5]
提示:1 <= A.length <= 10000-50000 <= A[i] <= 50000
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sort-an-array著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
这个题第一眼就是排序了,我这种菜鸟都能会写,所以今天的题就没什么好说的了什么你不懂排序,没关系你可以这样的
123456class Solution { public int[] sortArray(int[] nums) { Arrays.sort(nums); return nums; }}
hhh,我开个玩笑,不会可以在我的博客搜索排序算法,也可以面向百度编程。 ...