- 博客(22)
- 收藏
- 关注
原创 java中String与List之间相互转换
String与List之间的相互转换最近在项目中遇到一个问题,就是在跟同事接口对接的时候发现我这边需要的关联单号,在他那里存储的时候是拼接的(类似与“NO123,NO234”),所以记录一下处理的方式1、String转List//根据id查询出商品信息ProductPo prdPo = productMapper.selectOne(Wrappers.<ProductPo>lambdaQuery() .eq(ProductPo::getId, id));
2021-07-06 14:25:09 15494
原创 springboot开发中常用约束注解
在springboot后端开发中常需要对前端传参进行校验,如果全部放在controller或者service中,会让代码看起来非常的冗余,这个时候直接在传参上加上约束注解就很方便实用,简单总结了一下常用的注解及其实用的场景。1、@NotNull:Integer、Bigdecimal、LocalDateTime、LocalDate、实体类2、@NotBlank:String3、@NotEmpty:List4、@Size:字符串长度限制5、@Future:未来时间,LocalDateTime、Loca
2021-04-21 14:09:26 3463
原创 使用excel导入功能时日期数据变成数字的解决
使用excel导入功能时日期数据变成数字的解决在使用excel导入功能的时候,难免会导入日期类型的数据,这个时候无论使用easyexcel还是poi的导入方式,都有可能出现纯数字的日期。1、如果输入的日期是1900年之前的,则不会变成纯数字;2、如果是1900年之后的日期,则在导入的时候可能会变成数字:从这张图里面就能看出来原因:excel解析时间类型的数据的时候把日期转成文本类型了。那么这个数字代表什么呢?这个数字与上面提到的1900年相关,因为excel中的时间是从1900年开始的,而转换
2020-11-20 11:02:14 10992
原创 JSONObject对LocalDateTime的序列化处理
最近项目中从中间件获取数据之后,需要对读取的数据进行一些处理,其中涉及到了对LocalDateTime的处理,遇到了一些问题,记录一下,代码如下:JSONObject json = JSONObject.parseObject(message.getPayload().toString()); String string = json.getJSONObject("data").toString(); ProductPo proPo = JSONObject.parseOb
2020-10-23 14:41:44 3501
原创 静态代理与JDBC事务管理
1、什么是静态代理静态代理:代理类在编译时生成。简单来说就是在进行编译的过程中,代理类和委托类都已经确定了,不能修改了—硬编码,无法扩展和复用。2、JDBC工具类public class DBUtil { private static String url = "jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8&allowMultiQu
2020-08-21 16:24:21 167
原创 Mybatis-plus中更新date类型数据遇到的坑
最近一年的项目都是在使用Mybatis-plus,感觉挺好用的,也没遇到很多问题,但是在最近项目上线之后,遇到了一些新的需要,在进行新版本开发的时候就开始遇到坑了,今天来说一下更新数据中有date类型数据的时候会出现的问题。实体类部分字段如下:@Data@Builder@NoArgsConstructor@AllArgsConstructorpublic class ProductPo implements Serializable { /** * 产品主键,自增 */
2020-07-16 09:38:28 8044 1
原创 EasyExcel使用ResponseEntity导出excel
**之前写过一篇使用EasyExcel导出excel到项目服务器中,然后在下载页面点击下载之后根据路径进行下载的。在这篇文章中我将用ResponseEntity直接返回excel到前端,记录一下该方法,同时也给大家一个参考。**1、controller层代码(根据前端的需求来) @GetMapping("/export_excel") public ResponseEntity exportExcel(@RequestBody List<PrdRequest> prdRequ...
2020-07-11 17:34:30 3124 5
原创 baomidou中mybatisplus的selectOne遇到的坑
最近写项目用的baomidou的mybatisplus,感觉是真的挺好用的,功能也很强大,但是还是遇到了一个坑。 正常情况下用selectOne进行查询是:Product prd = productMapper.selectOne(Wrappers.<Product>lambdaQuery() .eq(Product::getPrdId, prdId));后面我为了查询速度能快一点,就加了一个select:Product prd = ...
2020-07-06 10:17:35 6461 1
原创 mysql根据类型和数据正负进行分组
mysql根据类型和数据正负进行分组今天遇到了一个问题:需要根据数据的操作类型和数据是否大于0进行分组。其实最主要的原因还是因为代码设计最初的时候考虑不够全面,现在遇到了这个问题,再去改代码的话风险非常大。下面贴出部分代码: private void fillResponse(ProductErp e, ProductResponse response) { switch (e.getBizType()) { //入库 case 1:
2020-06-19 16:09:13 941
原创 关于LocalDateTime的序列化与反序列化
最近在项目上遇到一个LocalDateTime的序列化与反序列化的问题,正常情况下只需要在返回前端的实体类加上以下标签即可以Json格式返回正常的时间类型:@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")private LocalDateTime createTime;如果不使用该标签,那么返回前端的时间就会显示的不正常,将会以实体类的形式来展示时间。如果只使用以下格式:@JsonSerialize(using = LocalDateTimeSeriali
2020-05-16 16:23:53 1575
原创 使用lamda表达式对list进行求和
Lambda 表达式是 JDK8 的一个新特性,最近写项目中求和计算使用的较多,写一篇文章记录一下,也方便不懂的人参考一下。一、实体类List返回Integer类型求和//根据id查询库存List<ProductStock> list = productStockMapper.selectList(Wrappers.<ProductStock>lambdaQuery(...
2020-04-21 18:11:18 13042 4
原创 哈希码为Integer.MIN_VALUE时取绝对值问题
Integer的取值范围是:-2147483648到2147483647,如果取绝对值(Math.abs(Integer.MIN_VALUE)),其结果还是Integer.MIN_VALUE,因为将-2147483648变为正数的时候2147483648,已经大于最大数了。解决方法:如果需要进行相关的计算,最好还是将数据转为Long类型的://转为Long类型long abs = Math...
2020-04-20 17:15:08 1009 1
原创 Java中字符串拼接String.format()不起作用
最近在写代码的时候用到String字符串拼接的功能,看着String.format()应该可以满足需求,然后就使用了一下,部分代码如下:String path = "http://xx.xx.xxx/apk/";String name= "xx.apk";String format = String.format(path, name);结果输出的结果是:“http://xx.xx.xx...
2020-04-18 16:17:34 2328
原创 Springboot开发微信公众号
最近项目上需要开发一个微信公众号的接口,用于展示、查询用户相关信息,看了一下公众号的接口文档,然后查询了一些资料,大概整理了一下。一、测试公众号微信公众平台提供了测试公众账号,登录地址为:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login,使用手机登录微信进行扫码,进入配置页面:说明:URL:填写80或者443端口的...
2020-04-11 14:12:27 1425
原创 Java中将日期中的/转换成-
最近在写excel导入程序的时候遇到了一个问题:由于导入数据中含有日期,在填写的时候有可能是“2020-3-25”,也有可能是“2020/3/25”,这样导入到数据库之后,再使用该日期进行判断的时候就会报错,下面就说一下我的解决方法: //时间格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //进行判断 ...
2020-03-25 15:16:55 1503
原创 Springboot中的时间以Json返回格式不正确的解决
如果后端数据库存储时间类型的数据使用了datetime类型,那么后端查出来的数据就是LocalDateTime类型,此时若以Json传给前端,那么前端接收到的时间里就会有“T”,此时只要在传参上加上标签即可: @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime;而如果传给前端...
2020-03-13 22:03:39 1976
原创 Springboot中Bigdecimal以json格式返回前端丢失小数点
最近在项目中遇到一个问题,前端传给我的数据用Bigdecimal来接收的,存入数据库decimal,查询结果也是用Bigdecimal接收的(例如:6.00),结果一Json格式传到前端之后就没有小数点了(6.00变成6),网上差了一下,有很多的方法,看着有点复杂,试了一下方法结果还是不行,最后自己倒腾了一下:@JsonFormat(shape = JsonFormat.Shape.STRING...
2020-03-13 11:37:22 12129 11
原创 mybatis中批量插入、批量更新
一、mapper.xml中批量插入<insert id="batchInsert"> INSERT INTO t_order(order_no, member_id, member_name, member_phone, pay_amt, create_time) VALUES <foreach collection="list" item="e" se...
2020-03-11 17:03:22 1144
原创 Springboot中使用easyExcel动态生成excel
最近项目上的需求,让我来开发报表的导出功能,查阅了许多的资料,在功能完成之后,写下这篇文章,希望可以帮助到大家。废话不多说,直接上代码(用的idea2018.3,jdk11)1、 引入依赖//采用了目前最新的依赖,因为旧版本许多方法都已经过期了<dependency> <groupId>com.alibaba</groupId> <...
2020-03-07 13:51:27 3931
原创 Java中BigDecimal除法保留小数位
计算除法,并进行小数位的保留(结果四舍五入、向上取整、向下取整等)的格式:BigDecimal result= 被除数.divide(除数,保留小数位, RoundingMode.结果处理);说明:1、保留小数位填写Integer类型2、结果处理(四舍五入、向上取整、向下取整等)通过RoundingMode中枚举来实现,常用的:RoundingMode.UP:直接进位,比如1.22222...
2020-03-07 09:20:59 34635
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人