自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xiaozaq的博客

java技术

  • 博客(346)
  • 资源 (5)
  • 收藏
  • 关注

原创 oracle 根据身份证号码与指定日期计算年龄

【代码】oracle 根据身份证号码与指定日期计算年龄。

2024-01-31 17:12:09 932

原创 vant的图片上传组件预览问题

base64,iVBORw0KG..."格式时,页面可以正常显示,但是一点击图片预览,可以正常放大预览的,可是页面显示却不正常了,变为上面样子了。先记录问题:主要是我直接吧图片的base64字符串存入了数据库,再次打开页面加载图片时,要么就是页面显示图片错误,要么就是点击图片预览时查看失败。注意修改node_modules下面的源码后,需要删除vite的缓存。如果不设置objectUrl属性,则点击图片无法正常预览。然后清空缓存,重新启动调试,测试正常。点击图片预览前,页面显示正常。

2023-12-21 11:19:13 896

原创 使用dirmap命令行时报错,提示缺少gevent模块

如果pip版本不是最新版可以使用命令python -m pip install --upgrade pip进行更新。升级pip,然后重新下载安装gevent模块。记得以前是可以的,可能是时间长了重装了系统,引起的。使用下面命令解决下载慢的问题。

2023-12-02 13:27:35 508

原创 html 关于获取页面高度方法

返回整个屏幕的像素高度,即分辨率高度。如常见的pc系统分辨率是1920*1080,那么返回的值就是1080。对应window.screen.width返回就是1920。即window.outerHeight-页签高度 - 地址栏高度 - 书签栏高度。如果是chrome浏览器模拟手机的话,返回的就是模拟的手机分辨率,与电脑分辨率无关。返回 window.screen.height - 任务栏高度。一般我们页面中希望获取到的就是window.innerHeight。浏览器高度,包含了地址栏、书签栏等高度。

2023-09-07 16:54:08 1313

原创 mysql 服务启动失败

搞了快1个小时,最后都准备备份数据库,然后重装mysql看看能否解决了,重装又担心数据丢失,后来看了下mysql的配置文件格式是UTF-8,于是另存为ANSI试试。第二天早上过来发现应用用不了,查原因是mysql没有正常启动,重启mysql服务也不行,然后想到恢复mysql配置文件,把昨天添加的内容去掉了,然后重启还是不行,启动时卡住,一段时间后提示服务启动失败。由于想使用mysql的事件任务调度功能,所以通过sql修改了mysql的配置,启用了事件任务调度。于是修改了mysql的配置文件。

2023-09-06 09:16:08 83

原创 vue常见指令缩写

v-bind:placeholder 与 :placeholder 等价。注意双引号里面是data中的变量名称,不是实际的值。

2023-08-10 18:25:23 84

原创 jdk版本与各软件版本之间的关系

jdk版本与tomcate版本、servlet关系。jdk版本与eclipse版本关系。

2023-06-17 21:12:01 505

原创 单点登录:CAS使用springboot main方法启动cas-server

4.其他地方下载该jar包。我是在cas-server-webapp-tomcat-5.3.9.war中解压中找到xmlsectool-2.0.0.jar。打开文件org.tis.demo.cas.server.web.CasWebApplication。9.demo中默认关闭了ssl,如需开启,可调整如下application.properties里配置。2.使用eclipse导入maven项目。导入时会用较长时间,10分钟吧。3.报错,提示缺少jar包。8.项目启动后,测试。

2023-06-17 18:31:16 1593 1

原创 出现 java.lang.UnsupportedClassVersionError 错误的原因及解决方法

这个是由于使用spring tool suite 4 创建项目时,自动创建的pom.xml依赖的项目使用的jdk版本高于jdk8,即使我在创建项目时指定了jdk8,但是还是要手动修改pom.xml才能修复UnsupportedClassVersionError异常。但是,如果项目中还引入了其他的依赖,而该依赖需要的jdk版本和当前项目编译运行的jdk版本不兼容,则也会报上面的异常。主要是代码编译时使用的jdk版本与运行时使用jdk版本不一致导致的。java compiler 中是设置项目编译的jdk版本。

2023-06-04 19:04:06 17538

原创 java中的位运算符

确定指定位置为1是否符合格式的方法:将指定格式中的x都用0替换,原来的0和1保持不变,得到的字节b与a变量进行与运算,如果结果为b,则说明a变量的补码中的1是符合格式的,但0不一定。确定指定位置为0是否符合格式的方法:将指定格式中的x和1都用0替换,0用1替换,得到的字节b与a变量进行与运算,如果结果为0,则说明a变量的补码中的0是符合格式的,但1不一定。(b=(byte)0x80)(a & (byte)0x80) == (byte)0x80 为true,则a符合1xxxxxxx格式。

2023-01-16 10:00:24 658 1

转载 正则表达式 :(?s)(?i) ?: 表示的意思

表示更改^和$的 含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配。(在此模式下,$的 精确含意是:匹配\n之前的位置以及字符串结束前的位置.)E):与"m"相反,表示如果使用这个修饰符,那么"$"将匹配绝对字符串的结尾,而不是换行符前面,默认就打开了这个模式。A):表示如果使用这个修饰符,那么表达式必须是匹配的字符串中的开头部分。x):表示如果加上该修饰符,表达式中的空白字符将会被忽略,除非它已经被转义。U):表示和问号的作用差不多,用于设置"贪婪模式"。

2023-01-13 14:36:00 1562

转载 MySql数据库实现数据存在则更新,不存在则插入

如上语句的意思的意思是如果字段1不存在(主键,索引或者唯一条件不存在),则执行插入语句,存在则执行更新语句,该更新是将该条存在的记录删除,然后再插入,所以其他的字段的值都是NULL;如上语句的意思的意思是如果字段1不存在(主键,索引或者唯一条件不存在),则执行插入语句,存在则执行更新语句,该更新只更新需要的字段,不影响其他字段的值;如上语句的意思是如果字段1不存在(主键,索引或者唯一条件不存在),则执行插入语句,如果存在,直接忽略不修改任何数据。1.存在则更新(不影响其他字段),不存在则插入。

2023-01-12 10:35:30 4239

原创 三层架构和mvc的区别

MVC是一种软件开发架构模式,全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。业务逻辑都聚集到业务层、dao层、实体层,如果要改进和个性化定义界面及用户交互,一般只需要修改表现层和控制器层就可以,即模型可以不变,只需要修改视图和控制器。视图:主要包括表现层。

2022-11-04 22:23:31 123

原创 Kettle7.1 连接mysql数据库失败

之前网上搜索结果是说要设置mysql时区,根据说明设置了,但还是一样报错,应该不是时区问题。后来检查了下jdk版本以及驱动版本也没问题。最后找到解决办法是选择中配置useSSL参数值为false,连接测试成功!mysql驱动版本:mysql-connector-java-5.1.38.jar。kettle版本是: pdi-ce-7.1.0.0-12。JDK版本:jdk1.8.0_301。...

2022-08-09 16:02:01 1013 1

原创 java 对日期进行加减运算时发现结果与预期不一致。

对日期进行加减运算注意点

2022-08-05 11:20:44 291

原创 正则表达式捕获Java中的组和反向引用

捕获组是一种将多个字符视为一个单元的方法。通过将要分组的字符放在一组括号内来创建它们。例如,正则表达式(狗)创建一个包含字母“ d”,“ o”和“ g”的单个组。捕获组通过从左到右计数其开括号来编号。例如,在表达式((A)(B(C)))中,有四个这样的组。((A)(B(C)))(A)(B(C))(C)现在有个需求是去除文章中重复的“<br/>”换行标签,希望只保留一个换行标签。public static void main(String[] args) throws E

2022-04-19 17:53:49 360 1

原创 第1章 oracle的体系结构(二)

11. Oracle执行SQL查询语句的主要步骤。SQL语句主要由用户进程和服务器进程完成。其他一些进程辅助完成。查询语句的处理主要包含3个阶段:编译(parse)、执行(execute)、提取数据(fetch)。1)编译:在进行编译时,服务器进程会将SQL语句的正文放入共享池(shared pool)的库高速缓存(library cache)中并将完成以下处理。首先在共享池中搜索是否有相同的SQL语句(必须要完全相同,比如sql*plus中是...

2022-03-30 17:11:55 556

原创 java 智能分析字符串格式,然后进行转化为日期对象。

经常需要使用常用的日期格式字符串转化为java的date对象。每次写"yyyy-MM-dd"之类的就好烦,为什么不能直接根据字符串本身格式自动转化吗?于是自己写了个方法把常用转化日期格式字符串自动匹配,然后进行转化。/*** * 智能分析字符串格式,然后进行转化为日期对象。 * @param source * @return * @throws ParseException */ public static Date getDate(String source) throws P

2022-03-30 17:10:51 683

原创 第1章 oracle的体系结构(一)

毕业10年了,上学时oracle dba教程没好好学。现在回过头来看当时的教程,感觉收获满满。 十多年的书,都没怎么翻过,很新的样子。废话不多说,记录一下总结体会。1. 在数据库系统中什么是稀有资源? 数据库系统中最宝贵的稀有资源是内存。为了高效地使用内存这种稀有资源,同时保证数据不丢失,oracle数据库管理系统引入了一个非常复杂的体系结构。2. oracle服务器(server)的组成。 服务器主要由 oracle实例 和 ...

2022-03-18 17:46:12 733

原创 oracle 安装

1.首先获取安装文件。2.解压安装包到指定目录。注意:这里不要对win64_11gR2_datebase_1of2.zip压缩文件右键解压到当前目录。如果这样解压可能导致后面安装时,会有很多提示找不到XXX文件。推荐:对2个压缩包分别解压。具体操作就是如下图选择红框框的选项。同理2of2也一样。然后再把2of2解压出来的文件拷贝到1of2解压目录中去。3.打开1of2目录,进入database文件夹,然后双击setup.exe程序进行安装。接下来按照导引一步步安装就好了。这里我的

2022-03-17 16:23:24 591

转载 证件照换底的方法

作者:菜鸟链接:https://www.zhihu.com/question/35706750/answer/245703410来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。【蒙版】+【边缘调整】是答主目前认为最简单,也是最完美的实现证件照换底的方法,对边缘人物发丝的处理很清晰,操作也非常简单。话不多说,直接进入正题原文参考个人微信公众号“菜鸟办公教程”里写的 PS教程丨证件照换底(三)题主问的是红底换成蓝底,教程写的是将蓝底换成白底,原理方.

2021-11-02 16:32:22 505

原创 synchronized的使用与理解

参考了知乎的文章加深对锁的理解。synchronized锁定的到底是什么? - 知乎主要看了bravo1988的回答。有了以下理解:synchronized既是加锁也是验权。先是进行验证是否有权限进行加锁。然后验权通过后对对象进行加锁。具体步骤大致如下:1.检查对象锁状态。结果有3中情况:1.1 对象未加锁,则验权通过,执行步骤2。1.2 对象已加锁,并且是本线程加的锁,则验权通过,给对象重入锁,执行步骤2。1.3 对象已加锁,...

2021-09-17 18:18:18 124

原创 微信JSAPI支付踩坑记录

1.报如下异常。java.lang.IllegalArgumentException: java.security.InvalidKeyException: Illegal key size at com.wechat.pay.contrib.apache.httpclient.util.AesUtil.decryptToString(AesUtil.java:42) at com.wechat.pay.contrib.apache.httpclient.auth.AutoUpdateCert..

2021-09-10 16:29:46 3576

原创 win10打开命令行

win10打开命令行.regWindows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Directory\shell\OpenCmdHere]@="在此处打开命令窗口""Icon"="cmd.exe"[HKEY_CLASSES_ROOT\Directory\shell\OpenCmdHere\command]@="cmd.exe /s /k pushd \"%V\""[HKEY_CLASSES_ROOT\Directory\Back

2021-08-11 09:59:23 319

转载 理解和使用Promise.all和Promise.race

一、Pomise.all的使用Promise.all可以将多个Promise实例包装成一个新的Promise实例。同时,成功和失败的返回值是不同的,成功的时候返回的是一个结果数组,而失败的时候则返回最先被reject失败状态的值。具体代码如下:let p1 = new Promise((resolve, reject) => { resolve('成功了')})let p2 = new Promise((resolve, reject) => { resolve(

2021-07-27 15:59:27 148

原创 dynamicCondition后台拼接sql

基于layui的动态添加条件查询ui插件码云:插件主页 高级查询插件下载有很多人问php后台拼接sql的代码怎么写。我这里分享一下java后台拼接sql代码给大家参考下。支持嵌套条件查询:/*** * 构造对应的查询条件语句以及添加动态参数到list列表 * @param listQueryCondition * @param list * @return */ public String superBuildSqlWhereNew(List<QueryCo..

2021-07-22 16:53:18 841 1

原创 Electron 快速入门

参考官方文档:http://www.electronjs.org/docs/tutorial/quick-start安zhao

2021-06-21 15:38:21 1512

原创 使用 notepad++ 编辑器在行首、行尾添加字符

比如每行行首添加双引号字符:

2021-06-04 11:56:05 753

原创 java 正则表达式去除字符串前后的逗号和空格

代码如下: public static void main(String[] args) { String exp = "(^[, ]+)|([, ]+$)"; System.out.println(", , ,1,2,3, ".replaceAll(exp, "")); System.out.println(" ,,,,,, ".replaceAll(exp, "")); System.out.println(",,,1,2,3, ,, ".replaceAll(exp, ""))

2021-05-20 09:59:20 2409

原创 easy-scratch3源码分析

目标:希望了解sprite3文件是如何解析的。如下图中选择了【上传角色】——》白鸽.sprite3,然后是如何解析该文件,得到对应的角色名称,造型图片,声音等资源的。思路:要分析源码,肯定的找到对应关键源码。然后在对关键源码研读分析。步骤:一、找关键源码1.因为项目使用了国际化,所以先在文件lib.min.js中查找“上传角色”四个字(我使用的是notepad++工具)。结果如下:2.然后查找项目中那些文件包含“gui.spriteSelector.addSpriteFromFi

2021-04-26 10:20:28 1019

原创 系统多账号合并实现的思考

系统可通过多途径注册,如手机号码,微信等第三方认证。同一个真实用户又多个账号,如何合并为一个。2种思路:方案一:不修改系统其它模块,新增一个账号合并功能。然后对所有关联userid的表进行更新。建要合并的用户id合并为同一个userid。如:userid分别为:1,3,6的3个用户合并为用户id为1的用户。合并功能需要对其它所有关联到用户id的表进行更新,将历史记录中的userid为1,3,6的记录改为1。即丢弃id为3和6的用户,将其数据合并到用户到1用户。优点:对原业务系统框架基本无改动。业

2021-04-16 11:57:55 2390

转载 windows server 2012R2 重装mysql5.7

windows server 2012R2 重装mysql5.7前言:在不知道服务器mysql登陆密码的情况下,尝试了一系列改密操作后,决定重新安装,又经历了little异常查询了some博客(在此感谢耐心同仁)后重要用远程登陆成功,记录如下:首先通过系统应用mysql卸载(如果有注册表、环境变量等一并删除)官网下载mysql5.7_x64.zip解压到mysql5.7新建 my.ini[client]# 设置mysql客户端默认字符集default-characte.

2021-02-04 15:02:38 353

原创 使用URLConnection进行获取网页内容是总是乱码,在浏览器上却能正常显示

尝试很多次,花了很多时间才发现内容进行了gzip压缩。解决办法:import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.net.URL;import java.net.URLConnection;import com.taobao.api.internal.toplink.util.GZIPHelper;public class HttpData { public static v

2021-02-04 10:07:31 464 5

原创 chrome浏览器 在线打开预览pdf文件,而不是下载文件。

Content-Type: application/pdfContent-Disposition: inline; filename="pdf-file1.pdf"关键有2个点:首先Content-Type: application/pdf其次是Content-disposition中的inline。之前我写的是attachment,导致结果一直下载文件而不是预览。...

2021-02-02 10:15:33 9465 4

原创 jdbc查询时,传入Date类型导致索引失效

发现明明有索引,当但是查询还是很慢。花费了几个小时。终于找到原因了。之前试过使用强制索引。但是无效。select /*+index(fy IDX_JFRQ)*/ *from tab fy where jfrq>?网上找到原因:由于需要小时分秒的信息,我们使用的是java.util.Date,观察发现在数据库端有类似如下函数转换 TO_TIMESTAMP(date_column) = parameter_timestamp 导致纵然加了hit也走不上索引.为什么会触发ora

2021-01-22 09:12:05 1172

原创 InputStream 读取完整数据

由于使用下面代码读取数据总是不完整。调试了一天时间,才发现原来数据显示不全,是因为没读取完。int count = in.available();byte[] b = new byte[count];in.read(b);要一次读取多个字节时,经常用到InputStream.available()方法,这个方法可以在读写操作前先得知数据流里有多少个字节可以读取。需要注意的是,如果这个方法用在从本地文件读取数据时,一般不会遇到问题,但如果是用于网络操作,就经常会遇到一些麻烦。比如,S...

2021-01-14 09:46:36 3928

原创 表单新增行和新增列功能

暂时只实现了在行尾新增行和列尾新增列功能。之后有时间再完善在指定行和列后新增。点击进入演示页面点击查看源码

2020-11-27 12:05:32 386

原创 js实现单元格合并和取消合并操作

demo:点击在线演示该页面脚本:<!DOCTYPE html><html> <HEAD> <TITLE>0004单元格合并和取消合并</TITLE> <script src="/static/jquery/jquery-3.3.1.min.js"></script> <meta http-equiv="content-type" content="text/html; charset=U

2020-11-24 11:44:14 1127

原创 当表格中单元格有rowSpan与colSpan时,如何获取单元格真正的坐标?

之前有写过一章介绍,当时没想明白算法逻辑,直接在网上抄了个算法,没仔细验证。后来发现算法还是有bug。有些情况没考虑全。所以又花时间,整理下思路,自己写个算法来获取单元格真正的坐标。会影响单元格A坐标因素有哪些?答:1.同一行A左侧的单元格;2.A的左上方单元格。并且rowSpan与colSpan只会对A的x坐标有影响,对y坐标没影响。1.同一行A左侧的单元格是如何影响A的坐标的?答:同一行只有单元格的colspan属性会影响A的x坐标。2.A的左上方单元格是如何影响A的坐标的?

2020-11-24 11:28:17 903

原创 按住鼠标左键拖动选取单元格。选中的单元格背景变红色

效果如下图所示:碰到合并单元格,会自动做大选取范围。代码:<!DOCTYPE html><html> <HEAD> <TITLE>0003按住鼠标拖选单元格</TITLE> <script src="/static/jquery/jquery-3.3.1.min.js"></script> <meta http-equiv="content-type" content="text/html

2020-11-23 14:55:49 673

text-show插件,容器大小固定,根据文字多少来调节显示的字体大小

一款文本格式化显示插件text-show。容器大小固定,根据文字多少来调节显示的字体大小。 资源中包含demo,简单易用。

2019-10-13

ofbiz集成富文本编辑器ueditor

ofbiz集成富文本编辑器ueditor。已经配置好组件,拷贝进去就可以直接使用ueditor了。

2017-11-07

开放性实验室预约系统

主要界面预览:http://blog.csdn.net/xiaozaq/article/details/78399316 系统主要功能介绍: 实验室预约管理系统主要有2个使用角色:管理员和学生 管理员模块: 1.学生信息管理。添加了学生用户,学生才能使用工号和初始密码登录系统。首次登录系统后需要修改密码。 实体主要属性:学生id,学号,学生姓名,性别,班级。 2.教师信息管理。添加教师信息,与实验项目批次关联。教师与实验项目批次是一对多的关系。 实体主要属性:教师id,教师姓名,性别,所属院系。 3.管理员信息管理。添加管理员用户。管理员用户有管理员模块的所有操作权限。 实体主要属性:管理员id,姓名,性别,所属院系。 4.学期管理。学期和实验项目是一对多的关系。 实体主要属性:学期名称,开始时间,结束时间,是否可用。 5.课程管理。课程和实验项目是一对多的关系。 实体主要属性:课程id,课程名称。 6.实验项目管理。与课程是多对一关系,与学期是多对一关系 实体主要属性:实验项目id,实验项目名称,所属课程id,所属学期。 7.实验项目批次管理。一个实验项目可能有多个批次,由不同的老师指导。每个批次对应一个老师。 实体主要属性:实验批次id,实验项目id,教师id,实验地点,容纳人数,实验日期,节次,是否确认。 8.学生预约申请管理。管理员审核学生预约申请,如容纳人数已满等情况则拒绝学生的预约申请,并填写相应的原因告知学生。 实体主要属性:学生id,实验批次id,申请时间,审核结果,原因,考勤签到。 9.考勤管理。学生预约成功后,管理员根据实验批次学生参与情况进行考勤。便于以后统计。 学生模块: 1.预约实验室。学生预约已确认的项目批次。申请后添加一条学生预约申请记录。 2.取消预约。学生预约申请后,如管理员还未审核,则可以取消预约。审核成功后不能取消。 3.查看我的预约。查看自己的预约申请记录。 说明: 1.该系统是基于ofbiz 16.11.02版本开发的。 2.系统使用的数据库是mysql。(可以使用其他数据库,只要根据搭建ofbiz系统时配置决定。) 安装运行步骤: 1.搭建好ofbiz系统。具体搭建步骤见:http://blog.csdn.net/xiaozaq/article/details/72763123 2.将解压的文件夹booking复制到apache-ofbiz-16.11.02\hot-deploy目录下。 3.将解压的文件夹lib里的文件复制到apache-ofbiz-16.11.02\lib目录下。 常见问题解决办法: 1.中文乱码等问题解决办法可以查看:ofbiz实战——实验室预约系统导航页 http://blog.csdn.net/xiaozaq/article/details/78400088

2017-11-01

abcdCode代码生成器(需要JDK8支持)

灵活的代码生成器,可以自己定制模板,适合各种类型架构的项目。 demo预览:http://blog.csdn.net/xiaozaq/article/details/69396430

2017-04-06

java jxl-2.6.jar包

将下载后的JXL.JAR,放入classpath,安装就完成了。如果包不能正常的加载,可以把你下载好的JXL.JAR包放入D:\JAVA\jre\lib\ext中(我的是JDK1.6)就OK了。我相信在配置TOMCAT时也需要把相关的三个包放到这里面。

2011-05-23

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

TA关注的人

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