![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 57
Java相关
时光有伱记忆成花
追风赶月莫停留,平芜尽处是春山
展开
-
MyBatis-Flex 是什么(一个优雅的MyBatis增强框架)
MyBatis-Flex 是一个优雅的 MyBatis 增强框架,它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用 Mybaits-Flex 链接任何数据库,其内置的 QueryWrapper^亮点 帮助我们极大的减少了 SQL 编写的工作的同时,减少出错的可能性。总而言之,MyBatis-Flex 能够极大地提高我们的开发效率和开发体验,让我们有更多的时间专注于自己的事情。原创 2023-07-27 10:08:04 · 777 阅读 · 1 评论 -
用LambdaQuerWrapper实现一个查询条件查询所有字段
用LambdaQuerWrapper实现一个查询条件查询所有字段原创 2023-07-19 09:56:11 · 3351 阅读 · 1 评论 -
定时任务-启动服务立即执行一次,再按照cron表达式等待下一次执行
使用定时任务时,会存在一个小问题,比如当我们设置每30分钟执行一次,但是我们启动服务后不会立即执行,而是下次的30分钟到了才执行。增加注解@PostConstruct。启动服务后,可以发现会立即执行一次,问题解决。原创 2022-09-20 10:38:28 · 11315 阅读 · 3 评论 -
解决fastjson中JSON转实体和实体转JSON中实体属性首字母大写的问题
前言一般我们在写实体是,基本上都遵循java命名规范,属性名都采用小驼峰方式,但是有时候我们调某些第三方接口,会存在属性名首字母大写的可能,因此会出现json转为实体会收不到值。实体转为json会出现首字母小写的情况,这样的话第三方接口本来按首字母大写的方式取值,结果是小写,造成了取不到值的问题。json格式转为javabean如果我们在postman里已json格式提交,后端以对象进行接收,会发现首字母大写的属性接收不到值。其实是有值的,只不过首字母变成小写了,和大写的匹配不上,所以是null原创 2021-08-06 11:18:52 · 3957 阅读 · 3 评论 -
解决Java 中 Double类型以科学计数法显示的情况
shu原创 2021-06-01 17:25:57 · 3201 阅读 · 1 评论 -
SpringBoot 使用Spring Validation实现接口参数校验
前言实际开发中,参数校验必不可少,因为用户的心思你永远无法洞察,他们会提交你根本无法想象的内容或者格式,如果前端后端都没做数据校验,那么恭喜你,你应该会收到很多垃圾数据,甚至会提交一下恶意脚步,让服务器存在被攻击的风险。最好的方法就是把这些坏心思扼杀在萌芽之中,除了前端校验,后端校验也是重中之重。因为前端还是有风险的,比如浏览器端的js校验,我们就可以通过设置跳过这些js校验,相当于前端校验作废了,如果你服务器端没加校验的话,脏数据、垃圾数据还是会进来,所以,虽有前端校验还是不行,后端校验必须有。...原创 2021-04-12 18:09:41 · 8321 阅读 · 8 评论 -
JDK1.8 新特性之Lambda表达式和Stream
目录什么是Lambda表达式Lambda常见写法示例。为什么要引入Lambda 表达式什么是函数式接口自定义一个函数式接口方法引用什么是Lambda表达式Java 8 最大的变化就是引入了Lambda表达式———一种紧凑的、传递行为的方式。Lambda表达式本质上是一段匿名内部类,也可以是一段可以传递的代码。可以将Lambda表达式理解为一个匿名函数; La...原创 2020-04-13 17:48:07 · 283 阅读 · 5 评论 -
Controller之外获取request和response对象
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();HttpServletRequest request = servletRequestAttributes.getRequest();HttpServletResponse response = servletRequestAttributes.getResp.原创 2021-04-06 09:23:33 · 359 阅读 · 1 评论 -
Java如何进行Base64的编码(Encode)与解码(Decode)
关于base64编码Encode和Decode编码的几种方式Base64是一种能将任意Binary资料用64种字元组合成字串的方法,而这个Binary资料和字串资料彼此之间是可以互相转换的,十分方便。在实际应用上,Base64除了能将Binary资料可视化之外,也常用来表示字串加密过后的内容。如果要使用Java 程式语言来实作Base64的编码与解码功能,可以参考本篇文章的作法。早期作法早期在Java上做Base64的编码与解码,会使用到JDK里sun.misc套件下的BASE64Encoder转载 2021-03-04 14:15:43 · 851 阅读 · 1 评论 -
json转xml-支持json数组转完不丢节点
最近做中间接口对接和格式转换,我需要在中间实现json和xml互转,但是出现了一个问题,当json串中包含数组时,会把同一个节点的多个内容放在一个节点里,导致转换为xml的时候只要一个父节点,如图所示:我们目前需要的格式应该是多个节点包含,效果如下:再来个变态点的json,转完效果如下:接下来上代码,是用递归实现的,大家参考参考引入依赖<!-- https://mvnrepository.com/artifact/net.sf.json-lib/json-lib --原创 2021-02-05 11:10:43 · 1368 阅读 · 4 评论 -
SpringBoot使用jasypt加密配置文件
配置文件对一个系统来说是重中之重,我们常用的数据库连接基本上都是在配置文件里的,还有其他的公私钥,秘钥等等,所以保护好配置文件的信息安全相当重要,特别是那些对数据安全性很高的企业,一旦配置文件信息泄露,那将会带来不可估量的后果。如何解决这类问题呢,所以我们使用jasypt对其重要信息进行加密,这样的话就算有心人得到配置文件的信息,也无法解密。原创 2020-12-21 11:08:50 · 3029 阅读 · 3 评论 -
2020年解决:IDEA中已配置阿里镜像,但maven无法下载jar包的问题
在网上拷贝的所有阿里云镜像比如: <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> <.转载 2020-12-07 16:56:58 · 327 阅读 · 0 评论 -
后端接收MultipartFile转换为Base64字符串
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2020-11-25 17:04:05 · 7382 阅读 · 4 评论 -
使用Java自带的keytool工具生成RSA非对称密钥证书,并导出公钥文件
1、工具Java自带的工具keytool可以用来生成密钥证书,也可以查看或删除证书库里的证书。无论是windows还是Linux系统,这个工具都会出现在jdk安装目录的bin文件夹下下图是在windows环境下,在bin目录下的所有文件:2、概念keytool工具是基于“证书库”来对密钥进行管理的。“证书库”是一个后缀名为“.keystore”的文件。如下图:在密钥库中...原创 2019-08-01 17:09:39 · 1945 阅读 · 0 评论 -
MyBatis xml配置文件int类型值为0时if条件判断失效【解决】
问题如下:当传过来的属性userlock值为0时,该if方法不执行<if test="userlock != null and userlock!=''"> userlock = #{userlock,jdbcType=INTEGER}</if>原因分析:mybatis中数值型0会被判为空字符串,所以,对于这个问题,可以直接去掉 != ''的判断,...原创 2020-03-16 16:06:53 · 1087 阅读 · 0 评论 -
MyBatis Oracle中分页写法
简单粗暴,参考即可,不喜勿喷。<select id="findByPage" resultMap="BaseResultMap" parameterType="Map"> select * from (select t1.*,rownum rn from (select * from tableName //可传入其他条件 <where&g...原创 2019-01-09 15:31:04 · 1675 阅读 · 4 评论 -
MyBatis一对多查询时,集合中只有一条数据,解决
研究了好半天,最后发现是因为有重名的列,建议给个别名。原创 2018-12-29 15:44:56 · 1674 阅读 · 1 评论 -
一文帮你完美解决Json和Xml相互转换
我们经常会碰到Json和Xml相互转换,但是转换过程中经常出现各种奇葩问题,比如多节点了或少节点了,或者转换后的格式不对,多了空数组,还有就是遇到带属性的xml格式转换完之后属性没了等等,今天就手把手教你完美解决这些坑。上代码1、导入用到的jar包<dependency> <groupId>net.sf.json-lib</groupId> <...原创 2020-04-22 15:07:37 · 5395 阅读 · 2 评论 -
使用Map构建JSON对象并转为JSON字符串
应用场景:比如一些接口需要传json类型的参数,但是你习惯了使用map,或者说规定需要使用map传参(比如做中间的接口对接),那么就可以以将接受到的参数放在map中,传的时候转为json即可。需要使用fastjson jar包,请自行下载<dependency> <groupId>com.alibaba</groupId> <ar...原创 2020-04-22 10:32:22 · 1553 阅读 · 3 评论 -
为防止内存泄露,JDBC驱动程序已被强制取消注册(解决)
今天部署一个应用,本地跑都没问题,往公司服务器上放一版,结果出现如下错误:公司服务器版本如下,好吧,的确有点老,问题是还是32位的系统。服务器上环境为jdk1.8,tomcat1.8,结果就报上边的错误。百度后发现有如下几种方案:忽略这些警告。 Tomcat正在做正确的工作。 实际的bug是在别人的代码中(所讨论的JDBC驱动程序),而不是在你的代码中。 Tomcat在正常工作...原创 2020-04-10 13:57:21 · 15193 阅读 · 7 评论 -
Slf4j与log4j及log4j2的关系及使用方法
Slf4j与log4j及log4j2的关系及使用方法slf4jslf4j仅仅是一个为Java程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就比如JDBC一样,只是一种规则而已,所以单独的slf4j是不能工作的,必须搭配其他具体的日志实现方案,比如log4j或者log4j2,要在系统中使用slf4j,我们需要引入的核心包为:slf4j-api-1.6.4.jar。如果不...转载 2020-04-02 16:27:09 · 3895 阅读 · 0 评论 -
my97datepicker 时间区间选择和验证
起始日期小于结束日期,修改对应的id值即可<div class="col-sm-6"> <div class="form-group"> <label for="startDate" class="col-sm-4 control-label">起始日期:</label> <div class="col-sm-8"> ...原创 2020-01-02 11:27:44 · 563 阅读 · 0 评论 -
JS实现一天不同时段问候语
有图有真相:图片样式以及日期格式自己调整哦 $(function(){ greeting(); }); function greeting(){ //创建一个日期对象 var dd= new Date(); var st =document.getElementById("hid"); $("#currentdate").te...原创 2019-12-25 11:19:10 · 2397 阅读 · 2 评论 -
java 监听器Listener中注入service
直接在Listener中使用@Autowired或@Resource注入,你会发现注入不了,会报空指针,所以只能手动注入,具体代码如下:se 为HttpSessionEventServletContext sc = se.getSession().getServletContext();ApplicationContext applicationContext = WebApplicat...原创 2019-11-21 09:41:18 · 2024 阅读 · 0 评论 -
java @Value注解获取properties文件中的配置
1、applicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cont...原创 2019-01-30 17:19:51 · 1970 阅读 · 0 评论 -
SpringBoot全局异常处理
创建全局异常处理类,使用注解@ControllerAdvice标注,即可实现全局异常捕捉,代码如下:@ControllerAdvicepublic class GlobalExceptionHandle { @ExceptionHandler(value=Exception.class) @ResponseBody private Map<String,Obje...原创 2019-06-18 10:45:23 · 90 阅读 · 0 评论 -
Caused by: java.io.IOException: 您的主机中的软件中止了一个已建立的连接
异常详情2017-07-16 10:55:26,218 ERROR [500.jsp] - java.io.IOException: 你的主机中的软件中止了一个已建立的连接。org.apache.catalina.connector.ClientAbortException: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。 at org.apache...原创 2017-11-07 08:47:21 · 18901 阅读 · 2 评论 -
标签时间转换器(几秒前,几分前,几小时前...)
1.时间转换类DateTag类public class DateTag extends SimpleTagSupport{ private static final long ONE_MINUTE = 60000L; private static final long ONE_HOUR = 3600000L; private static final long ON原创 2017-04-07 09:11:33 · 1128 阅读 · 0 评论 -
Hibernate用columnDefinition注解给实体属性设置默认值
1、属性为Integer @Column(nullable=false,columnDefinition=”INT default 0”) private Integer commentApprove;2、属性为String @Column(columnDefinition=”varchar(128) default ‘hello’”) private String test原创 2017-03-24 09:13:41 · 32521 阅读 · 8 评论 -
SpringMVC默认进入指定页的方法
1、直接访问指定静态页面 在tomcat中指定页面 <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>ind...原创 2017-02-24 11:49:08 · 4012 阅读 · 1 评论 -
基于注解的Hibernate中多对多关联关系的示例
1.多对多关联假设有A类和B类为多对多关联A类: @ManyToMany(cascade=CascadeType.ALL)@JoinTable(name = "t_a_b",joinColumns = {@JoinColumn(name = "a_id")}, //JoinColumns定义本方在中间表的主键映射inverseJoinColumns原创 2016-09-14 13:31:51 · 391 阅读 · 0 评论