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

三门峡做网站的公司政和县建设局网站公告

三门峡做网站的公司,政和县建设局网站公告,一级造价工程师吧,北京市朝阳区网站制作公司前言 最近#xff0c;在工作上接手的任务中#xff0c;各种 bug 问题出现#xff0c;在解决的同时也可以记录一下。因此#xff0c;觉得可以出个记录 bug 合集。方便后来者碰到类似情况#xff0c;可以作为一个参考进行解决。 文章题目就包含当前文章内容中所遇到的三个 b…前言 最近在工作上接手的任务中各种 bug 问题出现在解决的同时也可以记录一下。因此觉得可以出个记录 bug 合集。方便后来者碰到类似情况可以作为一个参考进行解决。 文章题目就包含当前文章内容中所遇到的三个 bug… 【BUG】 1.【数据库存1/0请求结果返回true和false】 【问题】 在做一个业务查询数据功能的时候一开始查询结果的还一直疑惑java 代码里 isRead 完全没找到转换为 boolean 类型的啊数据库里明明也是整数型呢还以为是在哪块有转换的我没有找到。但是后来新增的时候出现了代码报错。 代码报错Cannot deserialize instance of java.lang.Integer out of VALUE_TRUE token at... through reference chain: com.anpai.xxx.xxx[isRead] 【分析、发现与解决】点击展开 【原因】 检查半天后才发现是数据库的锅数据库isRead字段是 tinyint 类型且存储长度为1则转为 java.lang.Boolean否则转为 java.lang.Integer。巧了不是刚好这张表涉及的isRead字段对应的数据类型就是 tinyint 且长度大小为 1… 【如何发现】 琢磨半天小问了一下同事小马才知道 mysql 数据库还会有这个机制怪自己孤陋寡闻了。这太关键了吧 【如何修复】 把该字段的长度设置2就好了~如下图 或者把 tinyint类型改为int类型只要破坏数据类型tinyint 且长度大小为 1 这两个条件之一防止转换即可。 【小结】 勤学多问不要只在逻辑层底层、数据库也可能会存在问题。 2.【sql查数据库能查但mybatis查为空】 【问题】 一个业务中的一个查询数据属于的对应的操作人、操作人的同部门和低部门的数据都可以看到。写好的 sql 语句如下在数据库能执行能获取到对应的操作人、操作人的同部门和低部门的数据也可看但是在 mybatis 框架的 xml 执行只能获取到对应的操作人获取不到操作人的同部门和低部门的数据。 select * from t_book as b where ((b.created_user_id #{userId} and b.dept) or ( (SELECT GROUP_CONCAT(id SEPARATOR ,) as deptIds from t_dept where full_dept_id LIKE CONCAT(%,#{deptId},%)) LIKE CONCAT(%,b.dept_id,%)))【分析、发现与解决】点击展开 【原因】 【未解决】 一开始以为代码中又有其他拦截器的权限拦截掉执行的 sql 语句中加上部门 id 权限但是 sql 语句已经一模一样在控制台中输出但结果就是为空数据或不包含同级和下级的数据。 【个人揣测】 jdbc 框架不认可 or 后的 sql集合LIKE数据如下 ((SELECT GROUP_CONCAT(id SEPARATOR ,) as deptIds from t_dept where full_dept_id LIKE CONCAT(%,#{deptId},%)) LIKE CONCAT(%,b.dept_id,%) )【如何发现】 接口返回的数据不对的时候发现的。 【如何修复】 我把这奇怪的问题问向了同事小马。小马也很疑惑同时也疑惑我的 sql 语句听取了一下他的建议用 find_in_set() 的方法去查询。结果居然可以了 or 后的 sql如下 (FIND_IN_SET(b.dept_id, (SELECT GROUP_CONCAT(id SEPARATOR ,) as deptIds from t_dept where full_dept_id LIKE CONCAT(%,#{deptId},%)) )完整 sql如下 select * from t_book as b where ((b.created_user_id #{userId} and b.dept) or ((SELECT GROUP_CONCAT(id SEPARATOR ,) as deptIds from t_dept where full_dept_id LIKE CONCAT(%,#{deptId},%)) LIKE CONCAT(%,b.dept_id,%)) )【小结】 不要弄太复杂的 sql多使用和熟悉 sql 提供的方法~ 3.【data64图片存储为异常】 【问题】 一个富文本功能需要存储图片做法是前端把图片进行data64转换然后传到后端存储到数据库里。但是进行有图片的富文本存了后前端再请求展示出来却是裂开的图片不存在的。 图左新增图右查询      【分析、发现与解决】点击展开 【原因】 存到数据库的数据data64的号全变成 “ ”空格了。 【如何发现】 在检查后端也已经使用URLDecoder.decode() 进行转义了。才发现在前端就没传入进去用在线文本比对工具 | 菜鸟工具对比一下才发现。前端传的时候就已经出错了后端再怎么转义把号转对应的编码%2B肯定都无济于事了。图解发现过程 对比数据发现号变成“ ”空格 查找在哪变成了空格发现是在网络传输层。前端传参没问题但是到后端变成了空格 【如何修复】 基于前端传参没问题但是到后端变成了空格的原因那么在后端再怎么进行转义都是没有处理到点的。因此是在前端进行处理转义才对 // base64网络传输号会变空格全部替换为编码%2Bvar formContent this.formContent;form.txt formContent.txt.replaceAll(,%2B); this.formContent formContent;【小结】 学习了网络传输层还会导致“”变为“ ”空格。 总结 数据库的表里字段为 tinyint 类型且存储长度为1会转为 java.lang.Boolean否则转为 java.lang.Integer。① sql 查数据库能查但 mybatis 查为空。LIKE 用法JDBC 没有转移成功执行集合LIKE数据。个人揣测② 不要弄太复杂的 sql多使用和熟悉 sql 提供的方法。网络传输层还会导致“”号变为“ ”空格传输数据可以先把数据进行编码如“”号替换为对应的编码“%2B”。 文章小尾巴 文章小尾巴点击展开 文章写作、模板、文章小尾巴可参考《写作“小心思”》   感谢你看到最后最后再说两点~  ①如果你持有不同的看法欢迎你在文章下方进行留言、评论。  ②如果对你有帮助或者你认可的话欢迎给个小点赞支持一下~   我是南方者一个热爱计算机更热爱祖国的南方人。  文章内容仅供学习参考如有侵权非常抱歉请立即联系作者删除。
http://www.sadfv.cn/news/381677/

相关文章:

  • 如何建设网站app有个虚拟服务器建设网站
  • 手机原理网站无锡网站建设推荐
  • 电子商务网站自助建站全国不动产登记查询系统
  • 上海做网站比较有名的公司郑州 互联网 公司网站
  • 人像摄影网站有哪些民企厂房建设招标网站
  • 企业网站怎么做百度设计师培训怎么样
  • 中文网站模板大全淘宝店铺装网站导航怎么做
  • 企业资质查询平台天津网站优化软件
  • 常用seo站长工具wordpress开启评论验证码
  • 玛沁县wap网站建设公司网站开发 chrome浏览器崩溃
  • 怎样运营网站自己做网站吗
  • c 做商务网站方便吗网站建设和维护采购协议书
  • 花都区pc端网站建设青岛seo整站优化哪家专业
  • 网站开发 深圳seo长尾关键词
  • 用php做的网站前后台模板农产品信息网站建设方案
  • godaddy网站建设怎么样电子商务主要就业岗位
  • 江西省农村公路建设举报网站上海到北京的火车
  • 自己建设的网站怎么上传图片wordpress 淘客主题
  • 优化网站改版做网站是百度包年快照
  • 娱乐网站策划书移动卡套餐
  • 顺德品牌网站建设公司做农产品交易网站
  • 网站建设都需要什么技术人员公司域名怎么取比较好
  • 衡水做wap网站费用养生类网站源码
  • 郑州专业的网站建设公司排名国家高新技术企业名单查询
  • 做网站可以用思源字体吗word页面设计
  • 海口网站建设发布河南网站建设软件
  • 点的排版设计网站网站优化seo方案
  • 做物品租赁网站义乌进货网
  • 如何建设网站简答题o2o网站策划
  • 网站备案 流程惠阳住房和建设局网站