自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 mac终端查看端口命令

【代码】mac终端查看端口命令。

2023-05-04 17:42:57 2840

转载 spring 事务-使用@Transactional 注解(事务隔离级别)

先看下@Transactional可以配制那些参数及以其所代表的意义。isolation事务隔离级别,使用时一般如下。@Transactional(isolation=Isolation.DEFAULT)public void method(){}isolation的参数有以下五种:1_1、Isolation.DEFAULT:为数据源的默认隔离级别1_2、isolation=Isolation.READ_UNCOMMITTED:未授权读取级别以操作同一行数据为前提,读.

2021-08-26 17:33:45 7147

转载 数据库隔离级别,第二类更新丢失

隔离级别:读未提交:一个事务中可以读到别的事务任何数据,包括已提交 和 未提交的脏数据读已提交:一个事务中只能读到其他事物已经提交的数据可重复读:一个事务在本事务提交之前读到的数据不会受其它事务crud的影响,所以前后读的数据是一致的,可以重复读注意:实际上这个可重复读只是针对读(select)所看到的的数据是可以重复读的,仅此而已;为什么这么说呢?1 当你事务还没提交,这时外界插入了一条id=10的数据,你select查看,发现没有这条数据,你也想插入id=10的数据,

2021-08-26 17:24:34 682 4

转载 Linux 如何kill杀死(关闭)某个被占用的端口

例子:关闭8082端口1. 查找被占用的端口[root@VM_0_17_centos home]# netstat -tln | grep 8082tcp6 3 0 :::8082 :::* LISTEN2. 查找被占用端口的PID[root@VM_0_17_centos home]# sudo lsof -i:8082COMMAND PID USER FD TYPE DEV

2021-08-26 17:00:30 23046

转载 SpringBoot2.x下RabbitMQ的并发参数(concurrency和prefetch)

RabbitMQ消费端配置spring: rabbitmq: host: localhost port: 5672 username: guest password: guest listener: simple:# acknowledge-mode: manual # 手动确定(默认自动确认) concurrency: 1 # 消费端的监听个数(即@RabbitListener开启几个线程去处理数据。)

2021-08-26 15:12:13 3451 1

转载 Uri详解之——Uri结构与代码提取

相关博客:1、《Uri详解之——Uri结构与代码提取》2、《Uri详解之二——通过自定义Uri外部启动APP与Notification启动》一、URI与Uri大家可能经常会看到在开发时,怎么有的时候是URI,有的时候是Uri,这是怎么回事?名称如此相像的两个类是有什么区别和联系?1.所属的包不同。URI位置在java.net.URI,显然是Java提供的一个类。而Uri位置在android.net.Uri,是由Android提供的一个类。所以初步可以判断,Uri是URI的“扩展”以适应A..

2021-07-01 13:55:06 741

转载 Mybatis+Mysql无查询数据时List、Set、Map的返回值为null还是空集

Mybatis+Mysql无查询数据时的返回值问题前言最近在写通过mybatis与数据库交互的接口时,需要将数据库返回的结果集执行迭代遍历的操作。代码完成后突然想到,若前端传回数据异常,导致Sql的查询语句在限定条件下无法查到指定的数据,岂不是会在遍历的时候出现空指针异常的隐藏bug?但是这样的情况在测试接口时故意传入无对应数据的限定条件情况下却并未发生,由此引发我的一番猜想:难道mybatis在查不到数据的时候返回的结果并非Null值?原本猜测可能出现空指针异常的代码:图示中我将数据库查询的L

2021-07-01 10:37:04 3212

转载 内网穿透 mac环境下安装使用Sunny-Ngrok

ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放作为一个Web开发者,我们有时候会需要临时地将一个本地的Web网站部署到外网,以供他人体验评价或协助调试等等,通常我们会这么做:找到一台运行于外网的Web服务器服务器上有网站所需要的环境,否则自行搭建将网站部署到服务器上调试结束后,再将网站从服务器上删除第一步:下载客户端传送门:https://www.ngrok.cc/如下图:

2021-07-01 10:24:07 506

转载 zsh: command not found: mvn

遇到的坑汇总:1.使用了zsh + iTerm2 的配置后,终端中mvn命令无效。2.mysql配置无效,每次关闭终端后,都要重新source ~/.bash_profile;原因:Terminal装了zsh+iTerm,所以它默认启动时执行的脚本文件是 ~/.zshrc文件解决:vim ~/.zshrc //打开配置文件.zshrcsource ~/.bash_profile;//在.zshrc文件末尾加上这句话,保存退出source ~/.bash_profile;//再终端中执行一次这个

2021-06-30 19:51:49 395

转载 mac修改shell

1.首先输入下面 这行命令:就能看到shell的命令,这都是不同风格的命令!more /etc/shells2.可以看到有6个shell,可以在这6个shell切换,则输入切换命令+shell路径,切换到zsh,那么命令就是:chsh -s /bin/zsh这也是终端中提示的命令了,不过我不喜欢。3.输入电脑当前用户密码,然后重启终端就可以了4.如果要恢复默认的输入chsh -s /bin/bash就恢复当初了。...

2021-06-30 19:13:38 669

转载 怎么保存退出 vim 编辑

博主的学习记录Docker汇总 Redis汇总 Vue汇总 MyBatis Plus汇总 微服务汇总 Java网络编程汇总 Java设计模式汇总 Java并发编程汇总 消息中间件汇总原文地址怎么保存退出vi编辑按ESC键跳到命令模式,然后::w- 保存文件,不退出vim。 :w file- 将修改另外保存到file中,不退出vim。 :w!- 强制保存,不退出vim。 :wq- 保存文件,退出vim。 :wq!- 强制保存文件,退出vim。 :q- ...

2021-06-30 19:01:27 677

转载 字符串split操作到底有多少坑

长字符串切分,取其中元素封装或者将封装信息组合成长字符串都是常规操作,但是这种长字符串往往是不可控的,如一个长字符串就是由一个元素组成,或者存在空字符串的元素,看似这并没有什么问题,但是使用不同工具类的split方法进行切分结果是完全不同的。不知道你是否遇到这样的坑,下面一起来看看。String类自带的split方法直接使用String本身自带的split方法,看对不同字符串的切分结果。 没有分隔符的字符串 //str = "1"public static void split2(St

2021-06-16 16:06:35 928

转载 特定字符连接的String字符串转换为List<Integer>类型

List<Integer> list = Arrays.asList(ids.split("-")).stream().map(s -> Integer.parseInt(s.trim())).collect(Collectors.toList());

2021-06-16 15:52:17 723

转载 将数组转换成集合Arrays.asList,不可进行add和remove操作的原因

直接上代码:import java.util.Arrays;import java.util.List; public class Test { public static void main(String[] args) { Integer a[] = {1,2,5,6,9}; List<Integer> list = Arrays.asList(a); System.out.println(list.size());

2021-06-16 15:45:32 447

转载 Java8 将List<Integer> 转换成以逗号分割的String字符串

1、使用谷歌的Joiner(代码超级短)import com.google.common.base.Joiner;import java.util.ArrayList;import java.util.List;public class Convert { public static void main(String[] args) { List<Integer> list = new ArrayList<>(); list....

2021-06-07 16:25:10 3030

原创 从HttpServletRequest获取POST请求体

getInputStream()、getReader()上面两种方法获取的是Http请求包的包体,因为GET方式请求一般不包含包体.所以上面两种方法一般用于POST请求获取参数.

2021-06-02 14:32:34 10696 1

转载 Java之Request篇

request对象  request对象是来获取请求消息数据    1. 获取请求行数据      GET /test/demo1?name=xiaobai HTTP/1.1      获取请求方式:String getMethod();  GET     ***** 获取虚拟目录:stringgetContextPath();  /test      获取Servlet路径:String getServletPath();  /demo1      获取get方式请求参数:S.

2021-06-02 11:41:33 6522

原创 json 实体类转换 json list<实体类>转换

json list<实体类>转换 String data = (String) redisUtil.get(key); if (!Objects.isNull(data)) { JSONArray jsonArray = JSONArray.parseArray(data); numRuleList = jsonArray.toJavaList(CssHotelRuleQuantity.class);.

2021-06-02 11:18:11 239

转载 Java8 Stream Lambda sorted()之正序倒序

下面代码以自然序排序一个listlist.stream().sorted()

2021-06-02 11:03:11 3687

转载 在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解失效的原因和解决方法

在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解是不会生效的。比如,下面代码例子中,有两方法,一个有@Transational注解,一个没有。如果调用了有注解的addPerson()方法,会启动一个Transaction;如果调用updatePersonByPhoneNo(),因为它内部调用了有注解的addPerson(),如果你以为系统也会为它启动一个Transaction,那就错了,实际上是没有的。@Servicepublic class

2021-04-22 14:42:23 955 1

转载 Java8 让代码更优雅之List排序

工作中,有时会需要对集合内的元素进行排序。利用Java8可以很方便的对List内的元素进行排序操作~基础类型List排序//对数字进行排序List<Integer> nums = Arrays.asList(3,1,5,2,9,8,4,10,6,7);nums.sort(Comparator.reverseOrder()); //reverseOrder倒序System.err.println("倒序:"+nums);nums.sort(Comparator.naturalO

2021-04-20 14:26:24 572

转载 线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式

1. 通过Executors创建线程池的弊端在创建线程池的时候,大部分人还是会选择使用Executors去创建。下面是创建定长线程池(FixedThreadPool)的一个例子,严格来说,当使用如下代码创建线程池时,是不符合编程规范的。ExecutorService fixedThreadPool = Executors.newFixedThreadPool(5);原因在于:(摘自阿里编码规约)线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor.

2020-11-30 15:50:22 2130 1

原创 Oracle FIND_IN_SET函数

需求oracle某字段存放的是逗号分隔的id字符串。 现在需要通过id来筛选,且id可以多选 与逻辑。比如:id字符串为1,2,3,4,5 搜索条件为1,3思路mysql 有 find_in_set函数可以满足类似需求,oracle没有这个函数,需要手动创建create or replace function find_in_set(arg1 in varchar2,arg2 in varchar)return number is Result number;begin...

2020-08-20 15:35:47 3553

转载 DateUtils,Date,Calendar函数用法详解

DateUtils的函数:/** * 注: * 1.一下大部分(也可能是全部)date都可以换成calendar也就是日历时间 * 2.calendar.get(Calendar.MONTH)获取的月比正常月份少一个月 * 3.calendar.get(Calendar.DAY_OF_WEEK)获取到的指定时间是一周的第几天周日为第一天 * 4.以下注释未必百分之百正确 */ SimpleDateFormat dateFormat = new Simple

2020-08-01 17:59:13 1013

原创 java 给定一段时间 按周、月分组

需求网上找了一下 大部分都是用Calendar做的 下方Calendar实现按月分组需要引入包:<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.7</version></dependency>类代码如下:import jav.

2020-08-01 13:39:06 5571 1

转载 关于java HashMap 没有按照添加的顺序显示排序

一般来说HashMap的存取顺序是不一致的,比如说:@Test2public void test(){3 HashMap<String, String>map=new HashMap<String, String>();4 map.put("1", "111");5 map.put("2", "122");6 map.put("3", "133");7 map.put("4", "144");8 map.put("

2020-07-31 18:29:25 1992

转载 SessionUtil工具类

package com.cd.utils;/** * session工具类 *@Author zhk *@Date 2018-1-16 **/import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.springframework.web.context.request.RequestContextHolder; import org.spri.

2020-07-20 18:01:41 1118 1

转载 StringRedisTemplate操作redis数据

StringRedisTemplate与RedisTemplate区别点 两者的关系是StringRedisTemplate继承RedisTemplate。 两者的数据是不共通的;也就是说StringRedisTemplate只能管理StringRedisTemplate里面的数据,RedisTemplate只能管理RedisTemplate中的数据。 其实他们两者之间的区别主要在于他们使用的序列化类:    RedisTemplate使用的是JdkSerializationRedi

2020-07-20 17:58:48 298

转载 登录验证码实现(Captcha)

登录验证码登录验证是一般系统都会有的功能,验证的方式也多种多样,比如输入式验证码,拖动式验证条,拖动式验证拼图等等。我们这里先实现常规的输入验证码的方式,右边显示验证码图片,点击可刷新,左边输入验证码。如下图为实现的效果。实现案例验证码的实现需要前后端协同,脱离彼此则不可用,故将前后端的实现放在一起,不再另写前端教程。后端1.添加依赖打开kitty-admin 工程,添加maven依赖。pom.xml<!-- kaptcha --><depende.

2020-07-20 17:42:06 12660 1

转载 java中字符串,json,Map互相转换(各种转换都有)

前提:使用jar包为fastjsonimport com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;程序如下:Map map = new HashMap(); map.put("AAA", "1"); map.put("BBB", "2"); map.put("CCC", "3"); System.out.println("map=>"+ma...

2020-07-17 17:55:54 587

转载 Java实现AD域登录认证

package com.app;import java.util.Hashtable;import javax.naming.AuthenticationException;import javax.naming.Context;import javax.naming.directory.DirContext;import javax.naming.directory.InitialDirContext;public class AdLogin { public static v.

2020-07-17 17:53:13 3825 1

转载 SpringBoot项目中获取spring.profiles.active

在项目开发中,我遇到了这样一个问题,项目做了很多安全校验和认证,这是线上需要的,但是当我在开发中如果想要单独测试某个接口还需要走校验和认证流程就显得非常的麻烦,简单的测试数据根本就无法通过,都会被拦截掉,导致我单独测试这个接口非常的麻烦。所以就有了这么一个需求,在开发环境中不做安全校验和认证,其他环境都是需要的。这里的解决方案就是获取spring.profiles.active值进行判断一下就好了。如何获取?使用下面的工具类就可以了。package com.kuangwan.core.co.

2020-07-17 17:51:56 6243 1

转载 使用各种加密算法 加密后有换行回车的解决办法

据RFC 822规定,每76个字符,还需要加上一个回车换行有时就因为这些换行弄得出了问题,解决办法如下,替换所有换行和回车String bTemp = Base64.encodeBase64String("123".getBytes()); bTemp = bTemp.replaceAll("[\\s*\t\n\r]", "");...

2020-07-17 17:50:40 2826

转载 java 代码实现不同格式的post请求

jsonpublic static String sendRequest(String url, Object object) { PrintWriter out = null; BufferedReader in = null; StringBuilder result = new StringBuilder(); try { URL realUrl = new URL(url); //

2020-07-17 17:46:30 375

原创 mybatis生成基础文件指令

mvn mybatis-generator:generate

2020-07-17 17:31:51 98

原创 mybatis连接oracle 解决主键自增及插入数据后返回主键问题

自增#Oracle解决ID自增问题为每各一个自增的表创建序列和触发器 注意替换[]中的表名#创建序列create sequence [ROLE_INFO]_SEQ increment by 1 start with 1 nomaxvalue nocycle cache 20;#重置序列ALTER SEQUENCE TEMPLATE_PROJECT_SEQ INCREMENT BY 200;SELECT TEMPLATE_PROJECT_SEQ.NEXTVAL FROM DUAL;AL.

2020-07-17 17:29:55 723

原创 java 递归 以及字符串数组转字符串 字符串转字符串数组

org_code 结构 0 和 1 为上级/** * 获取组织管理树 */ public ResponseUtil treeOrg() { Map<String, Object> where = new HashMap<String, Object>(); List<OrgInfo> infoList = orgInfoMapper.list(where); List<OrgI..

2020-07-09 17:18:33 242

转载 java split()使用“.” “\” “|“ “*“ “+“要转义 笔记

import java.util.Scanner;import java.util.regex.Matcher;import java.util.regex.Pattern; public class test{ public static void main(String[] args){ Scanner in = new Scanner(System.in); String string=in.nextLine(); //要使用".".

2020-07-09 16:44:41 145

原创 Java 使用lambda表达式进行联查 以及 lambda表达式过滤空值

public ResponseUtil getOrder(Map<String, Object>where){ //查询主数据列表 List<LastAppprovedProjInfo> list = lastAppprovedProjInfoMapper.list(where); //补充办事处信息 Set<Long> officeIdSet = list.stream().map(LastApp..

2020-07-09 16:34:08 3878 1

转载 Navicat连接Oracle数据库以及Oracle library is not loaded的解决方法

场景打开Navicat-文件-新建连接-Oracle实现输入对应的连接名、主机名,端口默认1521,服务名默认ORCL,输入用户名密码,点击测试连接。如果你在连接过程中出现提示:Oracle library is not loaded这是因为没有配置oci.dll或者其配置不正确的原因。oci.dll是oracle数据库组件。其配置位置在Navicat中工具-选项-环境查看你的oci.dll的路径是否配置。如果没有配置则进行...

2020-07-09 16:18:41 3461 1

空空如也

空空如也

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

TA关注的人

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