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

廊坊网站推广公司ps做的网站保存不了jpg

廊坊网站推广公司,ps做的网站保存不了jpg,自己开发网站需要多少钱,ludou wordpress前言 最近,在工作上接手的任务中,各种 bug 问题出现,在解决的同时也可以记录一下。因此,觉得可以出个记录 bug 合集。方便后来者碰到类似情况,可以作为一个参考进行解决。 文章题目就包含当前文章内容中所遇到的三个 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转换然后传到后端存储到数据库里。但是进行有图片的富文本存了后,前端再请求展示出来,却是裂开的图片,不存在的。

(图左新增;图右查询

image.png     image.png

【分析、发现与解决】(点击展开)

【原因】
存到数据库的数据data64+号全变成 “ ”(空格)了。

【如何发现】
在检查后端也已经使用URLDecoder.decode() 进行转义了。才发现在前端就没传入进去,用在线文本比对工具 | 菜鸟工具对比一下才发现。前端传的时候就已经出错了,后端再怎么转义(把+号转对应的编码%2B)肯定都无济于事了。(图解发现过程)

对比数据(发现+号变成“ ”空格)

image.png

查找在哪变成了空格,发现是在网络传输层。(前端传参没问题,但是到后端变成了空格)

image.png

【如何修复】
基于前端传参没问题,但是到后端变成了空格的原因,那么在后端再怎么进行转义都是没有处理到点的。因此是在前端进行处理转义才对!

  // base64网络传输+号会变空格,全部替换为编码(%2B)var formContent = this.formContent;form.txt = formContent.txt.replaceAll("+","%2B"); this.formContent = formContent;

【小结】
学习了网络传输层还会导致“+”变为“ ”(空格)。

总结

  1. 数据库的表里,字段为 tinyint 类型,且存储长度为1,会转为 java.lang.Boolean,否则转为 java.lang.Integer
  2. ① sql 查数据库能查,但 mybatis 查为空。LIKE 用法,JDBC 没有转移成功执行(集合)LIKE(数据)。(个人揣测)
    ② 不要弄太复杂的 sql,多使用和熟悉 sql 提供的方法。
  3. 网络传输层还会导致“+”号变为“ ”(空格),传输数据可以先把数据进行编码(如“+”号替换为对应的编码“%2B”)。

文章小尾巴

文章小尾巴(点击展开)

文章写作、模板、文章小尾巴可参考:《写作“小心思”》
  感谢你看到最后,最后再说两点~
  ①如果你持有不同的看法,欢迎你在文章下方进行留言、评论。
  ②如果对你有帮助,或者你认可的话,欢迎给个小点赞,支持一下~
   我是南方者,一个热爱计算机更热爱祖国的南方人。
  (文章内容仅供学习参考,如有侵权,非常抱歉,请立即联系作者删除。)

http://www.yayakq.cn/news/176213/

相关文章:

  • 网站特效网徐州网络科技公司有哪些
  • 中国工程建设标准化协会官方网站新网站如何做快照
  • 在国外怎么做网站网站建设需要租用什么
  • 做网站有意思吗网站建设设计文档模板下载
  • 安图县建设局网站如何在百度上做网站推广
  • 做外链等于网站更新么photoshop手机版免费
  • 做网站用哪个ecalipse长春什么时候解封
  • php在线购物网站建设wordpress显示浏览次数
  • 网站做315认证一个企业该如何进行网络营销
  • 合肥网站排名提升在哪个平台做网站比较好
  • 如何在百度上找网站电子商城网站建设公司
  • 小说主角重生之后做网站商城网站的seo优化改怎么做
  • 聊城公司网站建设网站的主页按钮怎么做的
  • 大连网站开发多少钱成品网站灬1688
  • 做爰的网站东莞人才市场现场招聘信息
  • 济南网站价格北海做网站网站建设
  • 济宁百度竞价推广重庆seo网站哪家好
  • 建网站 多少钱钱h5网页设计培训
  • 网站搜索功能模块网站建设所需服务器
  • 如何在aws上创建wordpress青岛seo网站建设公司
  • 网站优化seo网站换稳定服务器
  • 科普类网站怎么做网站群 主要功能
  • 网站推广计划至少应包括网红包装设计师
  • 设计网站推荐ps把里面的dede和plugins这2个文件夹覆盖到你的网站根目录
  • 各种网站末班分销系统开发多少钱
  • 如何增加网站关键词西安搬家公司价格明细一览表
  • 做网站要固定电话网站开发项目实训
  • 网站怎么做404wordpress丢失连接
  • 做策划的都上哪些网站搜索资料间刚做的网站上线后收不到了
  • 桂林做手机网站建设宝坻网站建设制作