自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mick_^_^的博客

生命不止代码不朽

  • 博客(129)
  • 资源 (2)
  • 收藏
  • 关注

原创 oracle 更新语句条件匹配不生效

最近在工作中写了一个供别人调用的Oracle的存储过程接口,功能很简单,就是根据传入的几个参数来更新表中的某些数据,但是在联调过程中传入的更新匹配条件和被更新的数据一致对不上,更新的数据会比匹配的三个条件的数据多,也不报错。入参的operation_code和表的列名OPERATION_CODE重了,导致这个匹配条件没起作用!最后发现是程序的入参变量名称和表结构的列名重了!--uadate语句。

2023-08-16 15:47:49 885

原创 Oracle中的substr()和substrb的用法和区别

Oracle中的substr()和substrb的用法和区别

2022-08-24 11:04:30 4499 1

原创 Oracle 的 decode 函数用法

Oracle 中 decode 函数用法

2022-08-24 10:45:16 1005 2

原创 SpringBoot 使用 jasypt 对配置项进行加密

需求:需要对application.yml中配置的数据库密码加密配置文件如下:spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/user?serverTimezone=CTT&useSSL=false&allowPublicKeyRetrieval=true username: test password: 1

2022-04-21 10:56:22 1790

原创 FreeMaker 判空

1、判断对象是否为空但如果name为null,freemarker就会报错。如果需要判断对象是否为空:<#if name??>……</#if>2、判断List是否为空<#if orgList?? && (orgList?size > 0) > <#else> <li class="T-creat">3、判断Map是否为空用freemarker取出map值后,判断该值是否等于某一字符串,可以使用内

2022-03-15 09:44:43 6157

原创 FreeMarker判断数据类型内置函数

判断函数如下:

2022-03-15 09:38:32 938

转载 PLSQL中文显示乱码,真正有效的解决方案(无需修改注册表 )

PLSQL中文显示乱码,可能是oracle客户端和服务器端的编码方式不一样。网上有很多帖子介绍解决方法,但都说得不清不楚的,这里我将自己经过实践和理解的真正的解决方案分享给大家。在这里,我们使用的是服务器上的Oracle,不是本机的Oracle,按照以下两个步骤进行:首先要查询ORACLE服务器的语言、地域和字符集,然后将查询结果设置为本地的环境变量:NLS_LANG。具体如下:1. 查询ORACLE服务器的语言、地域和字符集select * from nls_database_paramet

2021-12-28 20:26:20 28045 7

原创 SpringBoot中Filter/Handler 中注入service或者Mapper为null解决方案

今天碰到一个问题,搞了多半天才找到解决方案,项目中写了个Handler处理器来处理数据的同时还需要和数据库交互查数据,但是在Handler中通过@Autowired注入和数据库交互的Mapper时报错null,通过在Handler上加@Component配置扫描还是不好用仍旧是null。后来在网上查到一个解决办法,那就是通过手动获取bean的方式(ApplicationContext)写了个工具类代码如下:import org.springframework.beans.BeansExcept

2021-12-23 19:28:19 1705

转载 工作四年,分享50个让你代码更好的小建议

1. 仅是判断是否存在时,select count 比 select 具体的列,更好。我们经常遇到类似的业务场景,如,判断某个用户userId是否是会员。(反例): 一些小伙伴会这样实现,先查从用户信息表查出用户记录,然后再去判断是否是会员:<select id="selectUserByUserId" resultMap="BaseResultMap"> selct user_id , vip_flag from user_info where user_id =#{

2021-03-30 10:21:52 184

转载 正则表达式大全

转自小傅哥:https://bugstack.cn一、前言编程总在实践中出结果!正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。正则引擎主要可以分为两大类:一种是DFA,一种是NFA。这两种引擎都有了很久的历史(至今二十多年),当中也由这两种引擎产生了很多变体!于是POSIX的出台规避了不必要变体的继续产生。这样一来,主流的正则引

2021-03-22 17:36:48 1981

原创 Oracle 关键字大全

背景:最近做项目建表建字段后,在测试时发现报错了,java.sql.SQLSyntaxErrorException: ORA-01747: user.table.column, table.column 或列说明无效,经过百度发现是在数据库表中占用了Oracle数据库的关键字,下面我列一下Oracle的关键字大全1 ! 1 2 & 1 3 ( 1 4 ) 1 5 * 1 6 + 1 7 ,

2021-03-12 10:31:29 10800

转载 一个月面了几家大厂 总结了5W字的后端面经

转载自:https://juejin.cn/post/6844904161612398600复习脑图:链接:https://pan.baidu.com/s/181fneGuvg24wiKeBaXs-Eg 提取码:c8jrSpringSpring框架的七大模块Spring Core:框架的最基础部分,提供 IoC 容器,对 bean 进行管理。Spring Context:继承BeanFactory,提供上下文信息,扩展出JNDI、EJB、电子邮件...

2021-02-04 10:26:59 560

转载 Java面试通关要点汇总集

转载自:https://juejin.cn/post/6844903567338242061基础篇基本功面向对象的特征 final, finally, finalize 的区别 int 和 Integer 有什么区别 重载和重写的区别 抽象类和接口有什么区别 说说反射的用途及实现 说说自定义注解的场景及实现 HTTP 请求的 GET 与 POST 方式的区别 session 与 cookie 区别 session 分布式处理 JDBC 流程 MVC 设计思想 equals

2021-02-04 10:17:21 101

原创 SQL优化的45条建议

1. 写完SQL先explain查看执行计划(SQL性能优化)日常开发写SQL的时候,尽量养成这个好习惯呀:写完SQL后,用explain分析一下,尤其注意走不走索引。explain select * from user where userid =10086 or age =18;2、操作delete或者update语句,加个limit(SQL后悔药)在执行删除或者更新语句,尽量加上limit,以下面的这条 SQL 为例吧:delete from euser where age

2020-12-28 16:49:14 232

转载 Java日常开发的21个坑,你踩过几个?

转载自博客:https://juejin.cn/post/6910831193931923463前言最近看了极客时间的《Java业务开发常见错误100例》,再结合平时踩的一些代码坑,写写总结,希望对大家有帮助,感谢阅读~github地址,感谢每颗stargithub.com/whx123/Java…公众号:捡田螺的小男孩1. 六类典型空指针问题包装类型的空指针问题 级联调用的空指针问题 Equals方法左边的空指针问题 ConcurrentHashMap 类似容器不支持

2020-12-28 11:30:03 348

原创 Java获取天气情况

背景:项目中有个需求是根据行政区划编码获取当天天气情况,于是开始在网上找各种API,但是经过测试发现不是接口返回值乱码就是接口经常挂掉,后来经过多方搜索发现高德开放平台的天气查询接口很好用,地址:https://lbs.amap.com/api/webservice/guide/api/weatherinfo一、注册登录高德开放平台账户创建好应用后,点击添加按钮,为应用添加一个key值,名字随便起到这步,key值就申请好了二、根据API编写调用代码impo.

2020-12-24 11:05:41 1437 1

原创 java中List的深拷贝

1.利用CollectionUtils的mergeArrayIntoCollection和Collections.copy结合实现深拷贝public class TechSysVo { @Getter @Setter private Long id; @Getter @Setter private String name; public TechSysVo() { }}import com.wsh.

2020-12-09 17:23:52 7949 9

转载 代码优化大盘点:35 个 Java 代码优化魔鬼细节

转载自掘金:https://juejin.cn/post/6903792484204331021前言代码 优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优

2020-12-09 14:26:12 244

原创 Java中数组的深拷贝和浅拷贝

一、数组浅拷贝的4种方式1. 使用 copyOf() 方法对数组进行复制jdk1.8的API文档中关于Arrays的copyOf方法: static boolean[] copyOf(boolean[]original, intnewLength) 使用 false (如有必要)复制指定的数组,截断或填充,以使副本具有指定的长度。 static byte[] copyOf(byte[]original, intnewLength)...

2020-12-09 12:11:42 1421

原创 Java 浅拷贝和深拷贝

一、拷贝分类根据对对象属性的拷贝程度(基本数据类和引用类型),会分为两种:浅拷贝 (Shallow Copy) 深拷贝 (Deep Copy)1. 浅拷贝介绍浅拷贝是按位拷贝对象,它会创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型,拷贝的就是基本类型的值;如果属性是内存地址(引用类型),拷贝的就是内存地址 ,因此如果其中一个对象改变了这个地址,就会影响到另一个对象。即默认拷贝构造函数只是对对象进行浅拷贝复制(逐个成员依次拷贝),即只复制对象空间而不复制资源。

2020-12-09 10:54:50 125

转载 《面试官,ThreadLocal 你要这么问,我就挂了!》

转载自小傅哥得虫洞栈:https://bugstack.cn/一、前言说到底,你真的会造火箭吗?常说面试造火箭,入职拧螺丝。但你真的有造火箭的本事吗,大部分都是不敢承认自己的知识盲区和技术瓶颈以及经验不足的自嘲。面试时:我希望你懂数据结构,因为这样的你在使用HashMap、ArrayList、LinkedList,更加得心应手。 我希望你懂散列算法,因为这样的你在设计路由时,会有很多选择;除法散列法、平方散列法、斐波那契(Fibonacci)散列法等。 我希望你懂开源代码,因为这样的

2020-12-01 15:12:21 208

转载 写代码有这16个好习惯,可以减少80%非业务的bug

转载自掘金:https://juejin.cn/post/6899077803665260557前言每一个好习惯都是一笔财富,本文整理了写代码的16个好习惯,每个都很经典,养成这些习惯,可以规避多数非业务的bug!希望对大家有帮助哈,谢谢阅读,加油哦~github地址,感谢每颗stargithub.com/whx123/Java…公众号:捡田螺的小男孩1. 修改完代码,记得自测一下改完代码,自测一下 是每位程序员必备的基本素养。尤其不要抱有这种侥幸心理:我只是改了一个变量或者

2020-12-01 14:51:37 142

转载 讲点码德!避免这些代码坏味道,努力做一名优秀的程序员

转载自掘金:https://juejin.cn/post/6900924429435502605大家闭着眼睛想一下什么是好代码?也许你的脑海中漂浮着一堆词:干净、整洁、命名规范、注释合理、高内聚低耦合……人人都想写好代码,因为看好代码就如同看一位五官端正的女子,心情愉悦、舒畅,而看糟糕的代码就如同看见腐烂的食物,闻起来也有一股坏味道。大多数人写的代码都不能称之为好代码,一方面由于自己技能限制,另一方面也可能根本就分不清好代码和坏代码,下面笔者结合日常编码实践与大家分享一下常见的代码坏味道。坏

2020-12-01 14:41:53 759

转载 太赞了,GitHub 上标星 115k+ 的 Java 教程!

转载自掘金:https://juejin.cn/post/6901093839051128839额,大家好啊,我是浑元形意门的学员小二哥(忍住别笑)。就在五个半小时前,有个小伙伴私信我说,“哥,能推荐一些高质量的 Java 教程吗?”我回他,“我写的教妹学 Java 不香吗?通俗易懂,风趣幽默,学起来多带劲......”没等我说完,他“啪”的一下就回过来了新的信息,很快啊。“哥,你那教程才更新到第 17 讲,我前后看了不下 5 遍了,确实学到了很多。但我还想更进一步啊,赶紧点,有没有其他的教程,

2020-12-01 14:34:57 213

原创 初识Java

专题一 Java基础1.1初识Java1.1.1Java语言概述Java语言是SUN(Stanford University Network,斯坦福大学网络公司)公司1995年推出的一门高级编程语言,起初主要应用在小型消费电子产品上,后来随着互联网的兴起,Java语言迅速崛起(Java applet 可以在浏览器中运行),成为大型互联网项目的首选语言。2009年04月20日,美国甲骨文公司74亿美元收购Sun,取得java的版权。Java 是面向对象的语言,没有面向对象编程经验的读者需要

2020-12-01 09:57:00 269 2

原创 实现算命测八字获取节日的工具类-Lunar

lunar是一个无依赖的支持阳历和阴历的日历工具库,它开源免费,有javascript、java、c#、php、python、go、typescript版本,不依赖第三方,支持阳历阴历互转,它能用来制作日历,甚至算命。目前支持公历和农历、星座、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋、凶煞宜忌、吉神方位、冲煞、纳音、星宿、八字、五行、十神、建除十二值星、青龙名堂等十二神、黄道黑道日及吉凶等。支持的时间跨度:1901-01-01(庚子年冬月十一)至2099-12-31(己未年冬月二十)。

2020-11-27 11:23:13 998

原创 Java数组

专题一 Java基础1.4 数组1.4.1数组的定义和访问概念:数组就是存储数据 长度固定 的容器,保证多个数据的数据类型要一致数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。Java 语言中提供的数组是用来存储固定大小的同类型元素。你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,....,number99。本教程将为大家介绍 Java 数组的声明、创建和初始化,

2020-11-16 16:42:45 121

原创 Java中的随机数生成方法

第一种: 使用 Math中的random()方法,生成[0, 1.0)的double类型数据 想要得到某个范围内的随机数: (数据类型)(最小值+Math.random()*(最大值-最小值+1))例: 得到1到100的随机数(int)(1+Math.random()*(100-1+1)) 第二种:使用java.util.Random类实现 Random构造方法://两种构造方法:Random r = new Random();//不包含随机种子Random...

2020-11-16 15:38:03 756

原创 Java流程控制

break;

2020-11-16 15:09:32 359

原创 Java中的数据类型和运算符

专题一 Java基础1.2 数据类型和运算符1.2.1 变量、标识符和关键字1.变量:在程序执行过程中,其值能被改变的量称为变量。定义变量(作用):定义变量就是告诉编译器这个变量的数据类型,这样编译器才知道需要配置多少空间给它。以及它可以存放什么样的数据,在程序运行过程中,空间内的值是变化的,这个内存空间就称为变量,为了便于操作,给这个空间取个名字称为变量名。定义变量的规则:变量必须是一个有效的标识符;变量名不可以使用Java中的关键字;变量名不能重复,选择有意义的单词作为变量.

2020-11-16 11:35:14 367

原创 Java实现插入排序及其优化

1.算法原理插入排序的代码实现虽然没有冒泡排序和选择排序那么简单粗暴,但它的原理应该是最容易理解的了,因为只要打过扑克牌的人都应该能够秒懂。插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序和冒泡排序一样,也有一种优化算法,叫做拆半插入。2. 算法步骤将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适

2020-11-13 14:42:08 173

转载 十大经典排序算法

载自:https://www.runoob.com/w3cnote/ten-sorting-algorithm.html排序算法是《数据结构与算法》中最基本的算法之一。排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括:关于时间复杂度平方阶 (O(n2)) 排序 各类

2020-11-12 15:15:43 74

原创 Java中接口与抽象类的区别

一、相同点:1.都是抽象类型2.都可以有实现方法(JDK8之前不允许)3.都可以不需要实现类或者继承者去实现所有方法(JDK8之前不行,之后接口中的默认方法不需要实现者实现)二、不同点1.抽象类不可以多重继承,接口可以(无论是多重类型继承还是多重行为继承)2.抽象类和接口反映出的设计理念不同。抽象类反映的是“is-a”关系,接口标示的是“like-a”关系3.接口中定义的变量默认是public static final 类型,且必须给其初值,所以实现类中不能重新定义,也不能改变其

2020-11-12 13:57:19 115

原创 Java实现简单选择排序

一.原理选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n个元素的表进行排序总共进行至多n-1次交换。在所有的完全依靠交换去移动元素的排序

2020-11-11 19:15:01 319

原创 Java实现冒泡排序及优化

一.原理讲解    冒泡排序即:第一个数与第二个数进行比较,如果满足条件位置不变,再把第二个数与第三个数进行比较.不满足条件则替换位置,再把第二个数与第三个数进行比较,以此类推,执行完为一个趟,趟数等于比较的个数减一.二、实现思路 用二重循环实现,外循环变量设为i,内循环变量设为j。假如有n个数需要进行排序,则外循环重复n-1次,内循环依次重复n-1,n-2,...,1次。每次进行比较的两个元素都是与内循环j有关的,它们可以分别用a[j]和a[j+1]标识,i的值依次为1,2,......

2020-11-11 19:08:06 235

原创 IDEA中设置Run Dashboard

微服务项目的开发过程中,工程会非常多,经常要启动很多个服务,才能完成一项测试。启动的多了,容易开发者带来错乱的感觉,很不方便管理。在idea作为开发工具时,推荐一个很好用的功能--Run Dashboard。方法一:直接通过IDEA中调出-》设置打开Run Dashboard (View-》Tool Windows-》Run Dashboard)方法二:通过修改.idea文件夹下的workspace.xml,在其中增加如下组件<component name="RunDashboard"&

2020-11-05 10:37:08 166

原创 Spring Cloud 最新版使用 Hystrix DashBoard 问题解决

Hystrix报错:Unable to connect to Command Metric Stream检查了pom文件 和启动类的注释都没有问题 后来发现是springboot版本的问题,版本1.5之前是不需要进行配置的 但是2.x之后是需要对Hystrix进行配置的。在hystrix-service的启动类中添加/** *此配置是为了服务监控而配置,与服务容错本身无关,springcloud升级后的坑 *ServletRegistrationBean因为springbo

2020-10-28 10:05:57 1155 2

转载 Java的Hutool 工具类

转载自:https://juejin.im/post/6886594116500029448群里还有一部分小伙伴表示还不知道这个开源类库,第一次听说。所以我决定写一篇文章普及下,毕竟好的轮子值得推荐啊。Hutool 的作者在官网上说,Hutool 是 Hu+tool 的自造词(好像不用说,我们也能猜得到),“Hu”用来致敬他的“前任”公司,“tool”就是工具的意思,谐音就有意思了,“糊涂”,寓意追求“万事都作糊涂观,无所谓失,无所谓得”(一个开源类库,上升到了哲学的高度,作者厉害了)。看了一下

2020-10-23 12:09:16 2452

原创 maven依赖中的type和scope

scope的分类compile默认就是compile,什么都不配置也就是意味着compile。compile表示被依赖项目需要参与当前项目的编译,当然后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去。testscope为test表示依赖项目仅仅参与测试相关的工作,包括测试代码的编译,执行。比较典型的如junit。runntimerunntime表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与。与compile相比,跳过编译而已,说实话

2020-10-23 09:40:28 794

原创 Java实现多个线程一起并发执行

面试人员:用Java的多线程模拟一个赛马,马场上有10匹马,要求他们同时起跑设计到的Java多线程技术:CountDownLatch或者CyclicBarrier/** * <p> * <p>Title:testCountDownLatch.java</p > * <p>Description: </p > * <p>Date:2020/10/20 14:53</p > * * @author wsh

2020-10-20 16:45:33 9840 1

LINUX教程:.pdf

Linux初级入门的一些命令和在Linux系统下一些软件的安装教程,对于初学Linux系统的小白很好用

2020-06-02

Java基础知识总结

Java基础知识整理,非常清晰有理。

2018-11-07

空空如也

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

TA关注的人

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