- 博客(74)
- 资源 (7)
- 收藏
- 关注
原创 on conflict do update
相比于传统的INSERT和UPDATE两个步骤执行,使用ON CONFLICT DO UPDATE可以将这两个步骤合并为一个数据库操作,从而减少了通信和锁定的开销,提高了插入数据的性能。在PostgreSQL中,这个语句通常使用在INSERT INTO语句中,用于在插入新行时,如果遇到重复的键值,则执行UPDATE操作。此外,ON CONFLICT DO UPDATE也可能会引入一些复杂性,特别是针对涉及多个列的行和需要执行更复杂逻辑的更新操作的情况。
2023-05-30 14:48:06 2980
原创 两个线程交替输出内容
public class App { public static void main(String[] args) throws Exception { sellTicket s = new sellTicket(); Thread t1 = new Thread(s); Thread t2 = new Thread(s); t1.setName("t1"); t2.setName("t2"); t1.
2022-02-07 08:51:36 396
原创 logback日志详细配置
<?xml version="1.0" encoding="UTF-8"?><!-- Log4j2 配置参考:https://www.cnblogs.com/keeya/p/10101547.html --><!--日志级别优先级:OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL --><!-- monitorInterval:自动间隔 N 秒检测配置文.
2022-01-26 19:58:45 1365
原创 使用GJit操作Git进行push文件到Git远程分支
公司有一个需求:用户上传zip压缩包,然后后端接收该zip压缩包,然后进行解压到git目录,然后使用JGit操作Git把解压后的内容push到Git远程分支Maven依赖如下: <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit</artifactId> .
2021-07-30 13:53:33 1182
原创 Windows上的RocketMQ安装以及测试
废话不多说。步骤一:下载安装RocketMQ地址:http://rocketmq.apache.org/步骤二:配置环境解压启动RocketMQ解压后的目录配置环境启动bin目录里的文件(请使用cmd去启动)start mqnamesrv.cmdstart mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true步骤三:安装RocketMQ服务网址:https://...
2021-04-26 18:20:43 1091 2
原创 springboot返回给前端数据将null值转化为对应的空字符串、空数组、时间统一格式化等等
实现WebMvcConfigurer 即:implements WebMvcConfigurer自己重写消息转换器代码如下:import com.alibaba.fastjson.serializer.SerializerFeature;import com.alibaba.fastjson.support.config.FastJsonConfig;import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
2021-03-05 14:59:50 1699 5
原创 利用注解进行前端传过来的参数校验
@NotNull和@Null类型:任意类型。前者作用:验证注解的元素值不是null,无法查检长度为0的字符串。后者作用:验证注解的元素值是null。@NotBlank类型:CharSequence类型。作用:只应用于字符串且在比较时会去除字符串的首位空格后长度必须大于0。@Min(value=值)类型:BigDecimal,BigInteger,byte,short,int,long等任何Number或CharSequence(CharSequence存储的是数字字符..
2021-01-18 16:03:05 2483
原创 Java后端接收时间字符串转成LocalDateTime,LocalDateTime转成时间字符串给前端
1.接收前端时间字符串1.1后端可以使用String去接收,手动在代码中进行转换成LocalDateTime操作,这里不做讨论。1.2后端使用LocalDateTime去接收,需要配合注解:@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")1.2.1例子:1.2.1.1前端请求的数据import io.swagger.annotations.ApiModelProperty;import java.time.LocalDateTim
2021-01-14 15:48:54 7247 2
原创 spring手动开启事务,手动提交事务,手动回滚事务
1.未加事务注解(或者事务配置), 所以需要手动开启事务和手动提交事务和手动回滚事务@Autowired private PlatformTransactionManager txManager; @Autowired private ShopGroupBuyDao shopGroupBuyDao; @GetMapping(value = "/transactionDemo") public void ceshi() { // 手动开启事务 start De
2020-12-31 22:12:49 17620
原创 微信小程序登陆(两种写法)
1.第一种写法, 不借助第三方工具,直接上代码1.1Controller代码: @ApiOperation("微信登录授权") @PostMapping("/login") @ApiImplicitParams({ public void WxLogin(@RequestBody WeiXinLoginRequestVO weiXinLoginRequestVO) { userService.decodeUserInfo(weiXinLoginRequestVO); }1.1.1
2020-11-25 00:14:14 2830 4
原创 非对称加密和解密之RSA
说明:本人使用的是hutool的工具类,Hutool官网我这里演示怎么使用1.系统自动生成公钥和私钥1.1代码如下 // 创建测试数据 start String str = "地球人"; byte[] bytes = str.getBytes(CharsetUtil.CHARSET_UTF_8); // 创建测试数据 end // 生成公钥 和 私钥 start RSA rsa = SecureUtil.rsa();
2020-11-15 21:38:51 531
原创 对称加密和解密之des
说明:本人使用的是hutool的工具类,Hutool官网我这里演示怎么使用 // 加密数据 start String str = "我是人"; byte[] bytes = str.getBytes("UTF-8"); // 加密数据 end // 生成密钥 start byte[] key = SecureUtil.generateKey(SymmetricAlgorithm.DES.getValue()).getE
2020-11-13 18:04:50 572
原创 解决邮件附件乱码问题
参考这个博客:https://blog.csdn.net/daiqinge/article/details/89970382或者https://blog.csdn.net/z69183787/article/details/792387351.如果是springboot在springboot启动类中加入, 如下:2.其他工程项目,创建一个类,加入如下代码:代码: // 解决收件人收到附件显示附件名字乱码 是因为附件名字过长导致附件名字乱码 start Syst.
2020-11-12 17:02:46 1710
原创 解决事务未提交读取不到数据问题
https://blog.csdn.net/yangzhengjianglove/article/details/102734629这是我的代码:
2020-09-25 18:49:00 1798
原创 Java后端接收用户关注/取消公众号或者接收用户发送到公众号的消息
请求的Controllerimport lombok.extern.slf4j.Slf4j;import org.apache.commons.lang3.StringUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.*; @PostMapping(value = "/notifyMsg", produc.
2020-08-22 14:13:19 2216 7
原创 微信公众号启用服务器配置Java代码
如图所示请求的Controllerimport com.oraro.util.SignUtil;import lombok.extern.slf4j.Slf4j;import org.springframework.web.bind.annotation.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;@Slf4j@RestControll.
2020-08-22 13:54:30 737
原创 对list进行分页
import java.util.ArrayList;import java.util.List;import org.springframework.util.CollectionUtils;public class ListPagingUtil { /** * @param list 进行分页的list * @param pageNo 页码 * @param pageSize 每页显示条数 * @return 分页后数据 */ public static.
2020-07-18 23:07:16 364
原创 使用@ControllerAdvice全局异常捕获
import lombok.Data;import lombok.EqualsAndHashCode;@Data@EqualsAndHashCode(callSuper = true)public class ServiceException extends RuntimeException { final Exception ex; final String m...
2020-04-15 19:15:12 1209
原创 自定义响应对象
import io.swagger.annotations.ApiModelProperty;import lombok.AllArgsConstructor;import lombok.Data;import java.io.Serializable;import java.util.Optional;@Data@AllArgsConstructorpublic fina...
2020-04-15 18:25:55 373
原创 springboot打成jar包远程debug
废话不多说,直接代码和截图打成jar包截图:然后启动项目命令:java -Xdebug -Xrunjdwp:transport=dt_socket,address=9092,server=y,suspend=n -jar XXXXX.jarXXXXX表示你的jar包名字.输入命令跟jar包在同一个目录idea配置:远程端口必须要对外开发,不然连接不上然后点击...
2019-12-11 17:48:30 641
原创 java调用其他java项目的Https接口
项目中是这样的: 用户拿出二维码展示,让机器识别二维码, 机器调用开门的后台系统接口, 然后开门的后台系统接口需要调用管理系统的接口, 管理系统需要判断能不能开门.这两个系统是互相独立的.当时使用http调用是没有问题的.当时后来要求必须用https.废话不说,直接代码:HttpsUtils工具类代码是:package org.wiegand.TestZone;import jav...
2019-11-16 17:19:44 1760
原创 Springboot注入是null
我在项目中遇到一个问题:一个叫做WebSocketServer的类中注入一个RedisUtil工具类且WebSocketServer类有一个静态方法, 该类的静态方法调用该RedisUtil工具类的方法出现空指针,WebSocketServer代码如下:import cn.hutool.core.codec.Base64;import cn.hutool.extra.qrcode.Qr...
2019-11-14 09:57:48 533
原创 Springboot使用redis(订单倒计时5分钟不支付自动取消),不会出现网上所说的空指针
1.下载windows版本的redis,链接是:https://github.com/microsoftarchive/redis/releases1.1 开启redis过期提醒,linux也是差不多2.引入jar包<dependency> <groupId>org.springframework.boot</groupId>...
2019-10-07 15:05:37 8005 8
原创 七牛云上传文件
package com.okancha.utils.uploadimage;import com.okancha.utils.UUIDUtil;import com.qiniu.common.Zone;import com.qiniu.http.Response;import com.qiniu.storage.Configuration;import com.qiniu.stora...
2019-09-28 20:06:18 615
原创 java读取本地图片在浏览器中显示
@RequestMapping(value = "/tupian", method = RequestMethod.GET) public void IoReadImage(HttpServletRequest request, HttpServletResponse response) throws IOException { ServletOutputStream out = ...
2019-09-26 23:59:15 3221 4
原创 C3P0连接MySQL8.0.13遇到的问题
自己的MySQL版本是8.0.13,自己写demo的时候一直连接不上,报错,后来查询得知,MySQL8以上的驱动包需要使用新的,不能用之前的老版本的驱动包,同时也要更新C3P0的驱动包我JAR包版本选择的是: C3P0-0.9.5.2.jar mchange-commons-java-0.2.15.jar mysql-connector-java-8.0.11.jarc...
2019-06-11 16:07:03 1436
转载 Base64原理解析
第一个参考文章链接:https://www.cnblogs.com/diligenceday/p/6002382.html页面截图是:第二个参考文章链接:http://www.cnblogs.com/hongru/archive/2012/01/14/2321397.html页面截图是:第三个文章链接:http://www.cnblogs.com/c...
2019-04-05 00:21:49 146
原创 MySQL求每一列的最大值之和
新建了一个叫aa的表,字段类型都是int需求:每一列的最大值之和我执行的SQL是:SELECT MAX(ceshi1 + ceshi2 + ceshi3 + ceshi4) FROM aa; -- 运行结果是209SELECT MAX(ceshi1) + MAX(ceshi2) + MAX(ceshi3) + MAX(ceshi4) FROM aa; -- 运行结果是212...
2019-03-08 15:40:21 1049
原创 Java生成图片
今天项目中需要用到Java后台生成图片,于是研究了一下需求图片:Java代码(原谅我的变量取名都是汉语拼音,我这里只是一个demo):public class Demo01 { public static void main(String[] args) throws FileNotFoundException, IOException { int width =...
2019-02-22 10:46:35 13516 3
原创 iBatis参数中是map,且map中含有list的情况如何写?
可以参考这个博客:https://hittyt.iteye.com/blog/1518665我的项目中是这样的iBatis参数是map,map中有一个list集合,这个list集合是map,如图所示:后来我把代码改成了这样:...
2019-01-07 15:47:16 1362 1
原创 MySQL合并查询
-- 初检数量SELECTCOUNT(1)FROM installation_order oWHERE o.`init_check_person` = 'wulin' AND o.`init_dispatch_time` >= '2018-01-01 01:00:00' AND o.`init_check_time` <= '2018-12-11 19:06:30' AND ...
2018-12-11 20:38:22 5939 2
原创 JRebel启动出现java.lang.OutOfMemoryError: PermGen space
我的项目使用的是tomcat插件(不是tomcat插件也可以使用此方法解决问题)启动项目的。在使用JRebel热部署启动项目的时候出现问题:java.lang.OutOfMemoryError: PermGen space原因:在使用Jrebel 对项目进行热部署的时候,IDEA没有给对象堆区预留足够的空间,导致内存溢出,无法运行。jvm对永久区内存设置的太小,堆(heap)区小了,有些项目比...
2018-11-08 11:15:37 2242
原创 spring进行事务回滚也需要返回值
这两个是别人写的,我已经截图1.https://www.cnblogs.com/zeng1994/p/8257763.html2.https://blog.csdn.net/qq_31997407/article/details/77835851
2018-11-07 17:16:24 4247
原创 保留两位小数(四舍五入)
@Test public void one() { DecimalFormat df = new DecimalFormat("0.00%"); System.out.println(df.format(0.12647)); }
2018-10-15 16:40:21 4874 1
原创 CASE WHEN用法
1.第一种case when 条件 then 1 else 0 end 这种形式例子:比如说有一个表,如下:需求:1.查询全部数量2.查询status值为1的数量3.查询status值为2的数量4.查询status值为3或者4的数量5.查询status值为4的数量6.查询非常满意的总分数(总数量*100)7.查询满意的总分数(总数量*60)8.查询不...
2018-09-30 11:09:27 7559
原创 后端返回数据给前端乱码
我用的是谷歌的浏览器,其他的浏览器未知。我后端返回数据给前端,发现在谷歌浏览器调试中出现乱码,但是页面没有出现乱码,如下图所示:防止出现这种情况可以在代码中加上:response.setContentType("application/json;charset=utf-8");...
2018-08-08 15:39:43 7026
原创 在数据库里计算同一个字段不同值的数量
如图所示:我们需要计算status值为1的数据有多少个,status值为2有多少个,,status值为3有多少个,status值为4有多少个,status值为1或者2有多少个SQL语句是这样写的:SELECT COUNT(1), SUM(CASE WHEN t.`status` = 1 THEN 1 ELSE 0 END) oneCount, SUM(CASE WHE...
2018-08-07 09:46:09 4554
原创 取消MySQL返回的科学计数法
最近遇到一个问题:就是查询返回大数字的时候,MySQL返回的是科学记数法表示的,返回的类型我用HashMap去接收的最后发现可以这样去解决: new BigDecimal(科学记数法表示的数字).toPlanString();这个方法去解决。...
2018-08-02 11:00:43 5518 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人