当前位置: 首页 > news >正文

Mybatis保存时参数携带了逗号和空格导致SQL保存异常

        起初发现这个问题是因为导入文件时,用户输入的导入参数不规范,在字段中有逗号和空格一起出现,就会导致mybatis保存时发生sql异常。

        异常数据张这样:

INSERT INTO enterprise_stratification (id,create_date,create_by,update_date,update_by,del_flag,remarks,platform_code,company_name,tax_level,industry_attribute,listing_attribute,primary_business,classification_industry,equity_financing,financ_level,is_credit_stain,is_equity_transfer,is_loss_personnel,annual_profit,business_income,financ_type,financ_amount,finance_rate,fund_use,build_project,under_investment_project,third_party_agency,policy_subsidy,shareholder_num,employee_num,legal_representative_name,id_number,phone_number,contact_name,contact_number,credit_service_demand,equity_service_needs,financ_service_demand,financ_smart_service,relisting_service,COMMENT,contact_time,referrer,submitter,submit_time 
)
VALUES('49f2495472774163a6469540ad8a12aa','2023-11-14 20:31:28.32','1','2023-11-14 20:31:28.32','1','0',NULL,'1','山西七曜生物科技有限公司','以上都不是','科技型中小企业','以上都不是','大健康饮品,茶饮料','零售业','获得过','小于等于100万','否','是','否','10','30','其他','100','5%以内','新品研发和产品销售推广','生产基地','新品研发及渠道建设','其他机构','20','3','10','李曜','140421199510083666','15235566543','李曜','15235566543',专项信用深度报告分析,信用评级评价(七牌一证), 信用档案, 信用会员招募,股权架构设计服务, 股权估值服务,股权质押融资服务,员工持股计划服务,普惠必贷金融产品, 公司股权、债权、贷款、并购融资规模提升服务,市场营销管理服务, 法律服务, ,投行推荐咨询服务,特色化标签评定(农业龙头、专精特新、科技型中小企业),精准帮扶服务产品, 股权优化服务产品,股权确权服务产品, 券商推荐服务产品,'多开展活动和宣传','3','政府机构','小太阳','2023-11-02' )

        其中,有些数据是没有用引号引起来,导致mysql认为他们是不同的字段的值

解决的办法:

1、在实体类保存时,添加去空格的校验

public void setFinancType(String financType) {if(StringUtils.isNotBlank(financType)){financType = financType.replaceAll("\\s", "");}this.financType = financType;}

        if(StringUtils.isNotBlank(financType)){
            financType = financType.replaceAll("\\s", "");
        } 

        首先做判空,不为空时去除空格,\\s为所有的空格符。

2、在mybatis中不使用#{value_name} 对实体和数据库字段做赋值,通过${value_name}来赋值

http://www.lryc.cn/news/229786.html

相关文章:

  • vscode launch.json
  • 绿盟远程安全评估系统 RSAS 使用体验-难用
  • 【Linux】 mdir命令使用
  • 解压游戏资源,导出游戏模型
  • 【科研新手指南2】「NLP+网安」相关顶级会议期刊 投稿注意事项+会议等级+DDL+提交格式
  • 220kV环形网络的动态无功补偿方案初步设计
  • 关于值传递和引用传递的问题记录
  • 律师咨询小程序搭建流程
  • 怎么在uni-app中使用Vuex 深度解刨
  • 兼容iphone(ios)圆角(border-radius)不起作用的问题
  • 车间部署MES管理系统后有哪些变化
  • 19C进入数据库出现问号
  • Mistral 7B 比Llama 2更好的开源大模型 (一)
  • 【JUC】三、集合的线程安全
  • 使用 Redis 实现生成分布式全局唯一ID(使用SpringBoot环境实现)
  • Pytorch CUDA CPP简易教程,在Windows上操作
  • 服务器怎么连接
  • 线性代数-Python-05:矩阵的逆+LU分解
  • shell实用脚本命令
  • STM32——端口复用与重映射概述与配置(HAL库)
  • ABZ正交编码 - 异步电机常用的位置信息确定方式
  • Linux学习第41天:Linux SPI 驱动实验(二):乾坤大挪移
  • 黑客泄露 3500 万条 LinkedIn 用户记录
  • Flink SQL -- 反压
  • 快速入门安装及使用git与svn的区别常用命令
  • 超详细介绍如何使用 OpenCV 和 BGS 库进行背景扣除
  • STM32F4、GD32F4 内部硬件CRC使用方法和踩坑实录
  • 【SpringBoot】序列化和反序列化介绍
  • Android 升级软件后清空工厂模式测试进度
  • Promise原理、以及Promise.race、Promise.all、Promise.resolve、Promise.reject实现;