Bug以及解决办法集

本文记录了Java开发中的一些常见问题及解决方法,包括MyBatisPlus默认更新策略、BeanUtils复制属性注意事项、NumberFormatException处理、Map判空方法、IDEA报错处理以及SQL模糊查询的正确写法。这些问题在日常开发中经常遇到,了解并掌握这些解决方案能有效提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Bug解决方法记录

方便日后出现问题快速能够定位解决;

1.mybatis plus调用默认的更新操作方法时,不更新值为空,null或默认值等得属性字段,只更新值为非null,非空非默认值的属性字段。 如果要更新null值

1)添加注解

@TableField(updateStrategy = FieldStrategy.IGNORED )
  private String redirect;

2)配置配置文件application.yaml

#mybatis plus 设置
mybatis-plus:
  mapper-locations: classpath*:org/jeecg/modules/**/xml/*Mapper.xml,cn/daoyuan/bdc/qjdc/mapper/**/*Mapper.xml,mapper/**/*Mapper.xml
  global-config:
    # 关闭MP3.0自带的banner
    banner: false
    db-config:
      #主键类型  0:"数据库ID自增",1:"该类型为未设置主键类型", 2:"用户输入ID",3:"全局唯一ID (数字类型唯一ID)", 4:"全局唯一ID UUID",5:"字符串全局唯一ID (idWorker 的字符串表示)";
      id-type: ASSIGN_ID
      # 默认数据库表下划线命名
      table-underline: true
  configuration:
    # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    # 返回类型为Map,显示null对应的字段
    call-setters-on-nulls: true
    # 支持对字段进行set为null的操作,注意:单引号
    jdbc-type-for-null: 'null' 

2. BeanUtils.copyProperties();在使用时候要注意使用
包使用:import org.springframework.beans.BeanUtils;
注意:对象每一个类型的对应,否则无法映射字段,若对应字段不一致,后台也不会报错,后期排查会出现很多问题,所有在使用这个拷贝方法的时候要注意这个问题。
在这里插入图片描述

3.java.lang.NumberFormatException: null
在这里插入图片描述
java.lang.NumberFormatException: null这句话明确告诉了我们是数字格式异常,接着后面有 null 提示,这就告诉我们你当前想把 null 转换成数字类型时出错了,这样就很确切了。在传参的时候应该是Integer类型,而我在后台用String类型接收,最后又将String类型给强制转换成Integer类型,在没有值得情况下自然是转不了了,所以就有null值了。
具体是哪个类的哪个方法的哪一行的错误了,看下面错误堆栈,找自己写的第一个类,
解决:把参数用Integer类型来接收,避免了转换的问题,问题也就随之解决了
4.map如何判空
在这里插入图片描述
在这里插入图片描述

解决方法:

map判空
Map<String, String> map = new Hash<>()1、使用工具类
MapUtils.isEmpty(map)
2、使用原生的
map == null || map.isEmpty()

5.fkFdcqList.add(fkFdcq);
idea报错Cannot access cn.daoyuan.bdc.sjgx.model.fkresponse.FkFdcq

解决办法:
重启idea,idea问题-----完美解决

6.SQL模糊查询报:ORA-00909:参数个数无效问题的解决
正确写法:xxx like concat(concat(‘%’,#{xxx}),‘%’)

>         <if test="zrz.bdcdyh !=null">
>             AND Z.BDCDYH LIKE CONCAT('%',CONCAT(#{zrz.bdcdyh,jdbcType=VARCHAR},'%'))
>         </if>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值