Java
温柔如風
相见即是缘
展开
-
SpringBoot后台处理全局跨域
全局跨域原创 2022-08-14 20:47:49 · 248 阅读 · 1 评论 -
Quartz重启服务会执行但再次执行前Trigger状态为Error的问题。Quartz不同环境的注意事项
Quartz定时任务框架,重启服务时执行一次,但是后续临近执行第二遍时,执行器的状态会变成Error的问题原创 2022-08-09 10:04:20 · 2120 阅读 · 0 评论 -
Mysql截取字符串,格式化字符串
从左边开始截取,length为截取长度,小于等于0返回空字符串。从右边开始截取,length为截取长度,小于等于0返回空字符串。当index>0从左边开始截取直到结束 当index原创 2022-06-11 10:23:41 · 1404 阅读 · 0 评论 -
SpringBoot 启动项目 No appropriate protocol (protocol is disabled or cipher suites are inappropr)
在数据库连接后面加上 &useSSL=false原创 2022-03-17 11:41:26 · 2888 阅读 · 2 评论 -
mysql 免安装版找不到my.ini配置文件
一直用的免安装版本,突然有一天开发时控制台一直报错Data source rejected establishment of connection, message from server: “Too many connections”上网搜说是要我修改最大连接,然后我左找右找没找到my.ini/my-default.ini。不管是c:\下的programData还是安装目录,所以直接新建一个使用。直接新建文本文件就行,改后缀。my.ini里面的内容# For advice on how原创 2022-02-10 11:00:58 · 1421 阅读 · 0 评论 -
Mysql “Too many connections“解决办法
说是连接太多了,先跑show VARIABLES like ‘max_connections’看一下我这是修改过后的了。修改前是151可以用set GLOBAL max_connections=1000;临时设置一下,但是重启就无效了,需要找my.ini修改编辑my.ini时找到[mysqld]添加max_connections=1000不要分号了,直接保存重启即可...原创 2022-02-10 10:43:54 · 844 阅读 · 0 评论 -
no viable alternative at input ‘XXX’
给相应字段加上 ‘’ 即可原创 2022-02-09 17:21:30 · 8084 阅读 · 2 评论 -
Shiro页面权限拦截
@Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo(); Users users=UserUtil.getUser(); String userType=users.getUserType(); authoriz原创 2022-01-07 17:28:23 · 2882 阅读 · 0 评论 -
ElementUi时间日期范围选择器DateTimePicker 限制范围
<el-date-picker class="condition" v-model="datePay" :picker-options="timeRange" type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="付款开始日期" end-placeholder="付款结束日期"></el-date-picker>主要是:picker-options="timeRang.原创 2021-12-25 15:50:48 · 1130 阅读 · 0 评论 -
排序Java后台 两种方式
for(int i=0;i<list.size();i++){ if(list.get(i).getId().equals(goodsId)){ if(type==0 && i>0){ nextSort = list.get(i-1).getSort(); nextGoodsId = list.get(i-1).g原创 2021-12-10 09:29:35 · 505 阅读 · 0 评论 -
Vue-自定义指令进行权限管理
vue 自定义指令进行权限控制原创 2021-12-04 15:52:40 · 1997 阅读 · 0 评论 -
java.lang.UnsupportedOperationException:null
今天被这个东西恶心到了用list 的时候 remove 和 add就抛出这个异常后面发现是因为我的list是Arrays.asList出来的出来的list是list 又不是list像这样List<String> target = Arrays.asList(sysConfig.getConfigValue().split(","));List<String> idList = new ArrayList<>(target);下面的idList就可以操作了原创 2021-11-17 17:36:41 · 845 阅读 · 0 评论 -
Illegal mix of collations (utf8mb4_0900_ai_ci,IMPLICIT) and (utf8mb4_et_0900_ai_ci,IMPLICIT) for ope
Illegal mix of collations (utf8mb4_0900_ai_ci,IMPLICIT) and (utf8mb4_et_0900_ai_ci,IMPLICIT) for operation ‘=’数据库排序规则。一般是不对等的排序规则。我这里原因是 以(utf8mb4_0900_ai_ci,IMPLICIT) 为排序规则的字段 连接了 以(utf8mb4_et_0900_ai_ci,IMPLICIT) 为排序规则的字段从而异常。navicat设计数据库 将字段改回即可...原创 2021-11-15 17:50:38 · 3029 阅读 · 0 评论 -
Elementui-Table自定义行列边框颜色
<el-table class="MyCell" :header-cell-style="{borderColor:'black'}" :cell-style="{borderColor:'black'}" border :data="form" >.MyCell{ border: 1px solid black;}其实用这个就行了.el-table td, .el-table th.is-leaf,.el-table--border, .el-table--group{原创 2021-11-10 15:05:56 · 1726 阅读 · 0 评论 -
SpringBoot使用Maven打包时减小jar包的大小方法
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration>原创 2021-11-08 10:38:16 · 486 阅读 · 0 评论 -
SpringBoot-Logback 多日志指定配置文件
<?xml version="1.0" encoding="UTF-8"?><configuration scan="true" scanPeriod="60 seconds" debug="false"> <!--这里修改value指向项目绝对路径--> <property name="LOG_HOME" value="d:/Work/Java/jingtui/jingtui-task/log" /> <!--控制台输出--原创 2021-10-22 13:56:52 · 639 阅读 · 0 评论 -
Redist-Java 有序列表操作
/** * 有序集合添加 * * @param key * @param value * @param scoure */ public void zAdd(String key, Object value, double scoure) { ZSetOperations<String, Object> zset = redisTemplate.opsForZSet(); zset.add(key, value, scoure); } /** * 有原创 2021-10-13 17:49:10 · 269 阅读 · 1 评论 -
关于ElementUi的Upload组件手动提交问题及代码优化
最近在写项目时一直使用的是Elementui的Upload组件照片墙的确很好用,不过会引发一些问题。比如:图片类型不对,fileList里是没有第二个文件的。但是照片墙已经显示了,我暂时将其视作bug吧。解决办法:upload有beforeUpload属性 可是该属性在我实验过后发现只能适用于单个文件,多文件的照片墙可以正常拦截,不过照片墙会出现显示BUG。并且为了节省OSS的开支,选择手动上传。使用onchange的属性监控添加文件的type是否为图片不是图片直接fileList.p原创 2021-09-29 11:49:56 · 1572 阅读 · 2 评论 -
Redis Set操作重置过期时间问题
如果用del, set, getset会将key对应存储的值替换成新的,命令也会清除掉超时时间。解决方法:使用strange覆写 亲测不会影响过期时间使用increment自增 也不会影响原创 2021-09-23 18:35:43 · 1423 阅读 · 0 评论 -
Redis 存入key乱码问题
最近使用spring-data-redis 和jedis 操作redis时发现存储在redis中的key不是程序中设置的string值,前面还多出了许多类似\xac\xed\x00\x05t\x00这种字符串原因是因为RedisTemplate的序列化问题改用StringRedisTemplate即可解决 但治标不治本。而且在RedisTemplate下用increment创建的乱码key无法被get拿取会抛出无法反序列化的异常。极个别情况需要使用StringRedisTemplate其他用Redi原创 2021-09-23 18:32:39 · 2818 阅读 · 0 评论 -
SpringBoot打包直接运行插件
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>加到pom文原创 2021-09-23 14:39:28 · 93 阅读 · 0 评论 -
Mybatis接受mysql传递的键值对数据
有时候不想新建新的实体类去接受 可以使用hashmapmybatis注解方式获取public interface TixianrecordMapper extends BaseMapper<Tixianrecord> { @Select({"<script>"+"select count(id) as Count,State from tixianrecord <if test='userId!=null'> where userId = #{userId原创 2021-09-14 10:15:20 · 164 阅读 · 0 评论 -
支付宝-支付无法回调。蚂蚁云联调HTTP状态301/302
做网站支付时,一开始用的花生壳内网穿透来接受支付回调。但是将项目部署到远程服务器的linux下时发现域名能正常访问,但是支付成功没有回调。打开自助工具下的云联调,将付款订单号输入,发现支付宝发起了回调,不过没有访问成功如下发现返回了301。我开始怀疑是nginx的问题,尝试关闭 不过结果一样无法回调。后面又怀疑是https的问题 所以到花生壳开了http 和https两个映射 ,结果都能正常访问百思不得其解,百度了301状态说是被重定向了,难不成是因为被重定向的地址和设置的回调地址不一所以回原创 2021-09-14 10:12:42 · 1131 阅读 · 0 评论 -
SpringBoot事务失效
@Transactional 应用在非 public 修饰的方法上 因为@Transactional 的工作原理是基于AOP来实现的,所以,必须作用在public的方法上才行2.@Transactional 注解属性 propagation 设置错误TransactionDefinition.PROPAGATION_SUPPORTS:如果当前存在事务,则加入该事务;如果当前没有事务,则以非事务的方式继续运行。TransactionDefinition.PROPAGATION_NOT_SUPPO.原创 2021-08-30 16:45:26 · 963 阅读 · 0 评论 -
java Http对象
package com.cn.jingtui.admin.common.util;import org.apache.commons.lang3.StringUtils;import org.apache.http.HttpEntity;import org.apache.http.NameValuePair;import org.apache.http.ParseException;import org.apache.http.client.config.RequestConfig;impor原创 2021-08-09 10:28:59 · 191 阅读 · 0 评论 -
LocalDateTime使用@JsonFormat注解不起作用
今天写项目时发现JsonFormat注解不起效后面才发现是字段名的原因将CreateTime改成createTime即可原创 2021-07-26 17:19:41 · 2301 阅读 · 0 评论 -
Mybatis-plus工具类 自动填充QueryWrapper进行高级查询
现在只支持QueryWrapper的eq和like功能 后续拓展SqlAnnotation的注解值 可以进行其他匹配先看实体类public class EnrollmentRecord implements Serializable { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Integer id; @Api原创 2021-06-25 10:29:26 · 2153 阅读 · 1 评论 -
Aspect-AOP的Around拦截
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></dependency>SpringBoot项目会在导入依赖后自动开启AOPpackage com.cn.school.admin.aspect;import java.util.Arrays;import j原创 2021-06-22 14:00:57 · 615 阅读 · 0 评论 -
Mybatis-plus 插入空字段(Null)
前两种方法较危险,后一种麻烦点但是安全原创 2021-06-15 10:44:18 · 3228 阅读 · 0 评论 -
微信获取手机号Java后台解密
package com.code.decode.util;import java.nio.charset.StandardCharsets;import java.security.*;import java.security.spec.InvalidParameterSpecException;import org.apache.xmlbeans.impl.util.Base64;import javax.crypto.Cipher;import javax.crypto.spec.IvPa转载 2021-06-08 10:54:42 · 284 阅读 · 0 评论 -
java初级面试题(更新中)
1.简单说一下java当中的异常,比如所有异常的根类是哪一个throwable是所有的异常类的父类 其主要有两个分类一个是error一个是 Exception2.集合几大类?list,set,map。队列不常用3.map遍历方式有哪些?遍历key集合,遍历值集合,使用迭代器,EnterSet,forEach。4.实现线程的方式?继承Thread类 实现Runnable,Callable接口,通过线程池创建线程Runnable的实现方式是实现其接口即可Thread的实现方式是继承其类Ru原创 2021-05-16 00:18:49 · 225 阅读 · 0 评论 -
SpringBoot查看Mybatis执行语句
SpringBoot整合mybatis后执行时控制台会打印spring的信息而不会打印我们执行的sql语句我们需要在resource下的application.properties加上一句logging.level.com.duan.mapper=debug没有就创建一个出来OK原创 2021-04-27 11:50:08 · 533 阅读 · 0 评论 -
Mybats注解一对多,多个参数传递
@Select("select pf.fun_id,pf.functionCode,pf.functionName,#{role_id} as 'roleId',pf.funcUrl from ps_function pf inner join ps_role_premission prp on pf.fun_id = prp.fun_id where pf.parentId=0 and prp.role_id=#{roleId}") @Results({ @Result(p原创 2021-04-26 15:48:26 · 415 阅读 · 0 评论 -
git使用笔记
git init初始化仓库git add .添加所有的文件git clone url克隆文件git commit -m “备注”添加文件到本地仓库git branch查看当前分支git branch dev创建新分支git checkout dev选择新分支git pull origin dev:master拉取代码到本地git push origin master提交代码git reset --hardpull下来的代码合并主.原创 2021-04-25 19:36:08 · 55 阅读 · 0 评论 -
easyExcel写excel文件
EasyExcel:https://www.yuque.com/easyexcel/doc/easyexcel实体类常用注解@ContentRowHeight(20)主体内容行高@HeadRowHeight(20)表头行高@HeadFontStyle(fontName = “微软雅黑”,bold = false,fontHeightInPoints =11)表头文字样式@HeadStyle(fillBackgroundColor = 52)表头样式@ColumnWidth(10)主题内原创 2021-04-25 15:46:50 · 990 阅读 · 0 评论 -
线程与进程的关系
我们写的代码,放在硬盘里面,有时候需要用了cpu就会到硬盘中读取程序到内存中,这个在内存中的可执行程序实例就叫做进程。多个进程被读取同一块内存中就会变成多个独立的进程↑内存中每一个地方都有相应的地址方便访问,而在内存中的每个进程内部都有自己虚拟独立的地址空间。每个进程首先有加载的程序,一般只有一个程序计数器,记录当前程序执行的位置指引线程按照程序顺序计算。如果线程超过一个就会有两个及以上的个程序计数器,相应增加的还有堆栈,寄存器之类的线程私有空间。为什么进程内要有更小的线程呢?因为一个进程如果原创 2021-04-01 16:48:04 · 118 阅读 · 0 评论 -
散列表
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。这里有一串名字 他们各自对应一段编号。我们根据名字来找到编号 这种就称为散列表或是哈希表最简单的方法就是准备一个数组 将这些键值对散列在不同的单元格中,但是如果要找某一个编号就要从头开始遍历,比较耗时。而散列表先把键通过某种映射获得数组的索引,然后根据索引直接找到,这样就原创 2021-03-31 14:03:03 · 135 阅读 · 0 评论 -
冒泡排序
冒泡排序挺简单的一个算法,是我学到的第一个算法。主要思路就是相邻两个数比较,前数大于后数就移位置,使用嵌套循环直到排序完成 public void sort(int[] nums) { int temp; for (int i = 1; i < nums.length; i++) { for (int j = 0; j < nums.length - i; j++) { if (nums[j] >原创 2021-03-30 09:55:54 · 67 阅读 · 0 评论 -
选择排序
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。主要就是每次循环时取出最小的值,放在前面排列下来比如 19 2 9 7 4 1第一次循环将1放到前面 1 19 2 9 7 4第二次循环将2放到前面 1 2 19 9 7 4第三次循环将4放到原创 2021-03-29 13:44:26 · 71 阅读 · 0 评论 -
huffman编码
哈夫曼编码主要用于压缩,出现频率较多的字符分配越短的编号。如图f出现6次 e出现8次 c出现15次 d出现21次 a出现55次这时候我们准备构建一个二叉树,先构建一个新的子节点 Z ,从容器中取出最小值f作为其左子节点 再取出最小值e作为右子节点接下来把Z节点放回容器 ,由于永远按照从小到大排序,故Z节点排在c前现在进行第二轮操作,构建一个新的子节点 Z ,从容器中取出最小值14作为其左子节点 再取出最小值c作为右子节点进行第三轮操作,构建一个新的子节点 Z ,从容器中取出最小值d作为其原创 2021-03-24 14:17:18 · 100 阅读 · 1 评论