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

做搜狗网站优化点击软出口退税在哪个网站做

做搜狗网站优化点击软,出口退税在哪个网站做,安徽城乡建设部网站首页,手工艺品网站建设的选题背景MyBatis 替换成 MyBatis-Plus 背景介绍 一个老项目#xff0c;数据库用的是 MySQL 5.7.36 #xff0c; ORM 框架用的 MyBatis 3.5.0 #xff0c; mysql-connector-java 版本是 5.1.26 新来了一个干练的小伙#xff0c;精力充沛#xff0c;看着就是一个喜欢折腾的主 他…MyBatis 替换成 MyBatis-Plus 背景介绍 一个老项目数据库用的是 MySQL 5.7.36  ORM 框架用的 MyBatis 3.5.0  mysql-connector-java 版本是 5.1.26  新来了一个干练的小伙精力充沛看着就是一个喜欢折腾的主 他就觉得 MyBatis 使用起来不够简单要写的代码还比较多觉得有必要替换成 MyBatis-Plus  Mybatis-Plus 替换 Mybatis 先准备一张表 tbl_order 然后初始化 2 条数据 View Code 为了简化演示我就直接用 Mybatis-Plus 搭建一个示例 demo 以此来模拟下 小伙 替换的过程 只是用 MyBatis-Plus 替换 MyBatis 其他组件的版本暂不动 Mybatis-Plus 版本就用 小伙 引用的版本 3.1.1  mysql-connector-java 版本保持不变还是 5.1.26  示例代码play_it_safe 此时运行 com.qsl.OrderTest#orderListAllTest 会报错异常信息如下 View Code 注意看 Caused by  不支持的转换类型 java.time.LocalDateTime  谁不支持 mysql-connector-java 不支持 那 mysql-connector-java 哪个版本支持了答案是 5.1.37  升级mysql-connector-java 将 mysql-connector-java 升级到 5.1.37 再执行下 com.qsl.OrderTest#orderListAllTest  不再报异常查询结果也正确 MyBatis-Plus 替换 Mybatis 似乎就完成了 顺的让人有点怀疑 Conversion not supported for type java.time.LocalDateTime 我们再回过头去看看前面说到的异常 Conversion not supported for type java.time.LocalDateTime  Mybatis-Plus 替换 MyBatis 之前没这个异常替换之后就有了这个异常这不是 Mybatis-Plus 的问题 如何找这个异常的根因了 很简单直接从异常堆栈入手 点了之后你会发现方法很简单 这么简单的代码能有什么问题 大家注意看图中左上角 MyBatis 的版本是 3.5.1并不是最初的 3.5.0 有小伙伴可能会问了不是用 MyBatis-Plus 替换了 MyBatis 吗怎么还有 Mybatis  这个问题问的真的好我只想给你个大嘴巴子 你看下 MyBatis-Plus 的官方说明 既然基于 Mybatis 3.5.0 没有抛异常而基于 3.5.1 抛了异常 LocalDateTimeTypeHandler 在 3.5.1 肯定做了调整 我们来看下调整了什么 看出什么了 MyBatis 3.5.0 会处理 LocalDateTime 类型的转换将 java.sql.Timestamp 转换成 java.time.LocalDateTime  然而注意了然而来了! 然而从  MyBatis 3.5.1 开始不再处理 LocalDateTime 还包括 LocalDate 、 LocalTime 类型的转换 而是交由 JDBC 组件也就是 mysql-connector-java 来实现 而巧的是 mysql-connector-java 5.1.26 不支持类型 LocalDateTime  那它支持哪些类型了 我们同样从异常堆栈入手 点了之后可以看到下图 往上滑动鼠标就可以看到支持的类型了 确实没有 LocalDateTime 、 LocalDate 和 LocalTime  mysql-connector-java 5.1.37 开始支持 LocalDateTime 、 LocalDate 和 LocalTime 前面已经介绍过了不再过多赘述 总结下异常根因 MyBatis 3.5.1 开始不再处理 LocalDateTime 、 LocalDate 和 LocalTime 的转换而 mysql-connector-java 5.1.37 之前都不支持这些类型 弄清楚这个异常的来龙去脉之后顺的是不是又理所当然一些了 暴风雨的来临 版本上线没 2 天该来的终究还是来了 我们往表 tbl_order 中插入一条记录 INSERT INTO tbl_order VALUES (3, asdfgh, NULL, 2024-02-21 20:01:31.111, 2024-02-21 20:02:56.764);  再执行 com.qsl.OrderTest#orderListAllTest  此刻我就想问 小伙 刺不刺激 碰到了异常那就找原因 同样从异常堆栈入手 看出什么了 如果 getTimestamp(columnIndex) 得到的是 NULL 不就 NullPointerException  严谨性了 修复问题要紧我们先看哪个版本进行修复了 将 mysql-connector-java 升级到 5.1.42  问题得以修复 经此一役 小伙 似乎成长了很多但眼里的光却暗淡了不少 mybatis-plus-issues-1114 无意中看到了这个issue-1114跟我们前面分析的 Conversion not supported for type java.time.LocalDateTime 是不是同一个问题 只是我们用到的数据库连接池是默认的 HikariCP 而非 Druid  结合druid/issues/3302来看如果使用 Druid 作为数据库连接池出现的异常可能跟我们前面分析的确实不一样 所以大家需要根据自己的实际情况来分析但针对异常的分析方法是通用的 修了“不该修的Bug” 这是我亲身经历的一次事故到现在都觉得这锅背的有点冤 背景介绍 文件分为主文件和附属文件主文件生成之后再生成附属文件 附属文件生成的时候会校验其依赖的主文件是否都生成了如果有任意一个主文件未生成依赖文件不能生成并抛出异常 这个业务还是比较简单吧 但在附属文件校验的优化上我背上了生产事故 优化前的校验 listFileGenerateLog 作用是根据参数查询文件生成记录具体实现不用关注 这个校验逻辑是什么只要有任意一个主文件生成校验就算通过了与业务要求主文件全部生成才算校验通过不匹配呀 这不是妥妥的 Bug  优化后的校验 碰到 Bug 你能忍我是忍不了一点反手就是一个优化 这是不是就符合业务要求了 生产异常 中午升级之后稳定运行了一段时间期间文件正常生成没出现任何问题 晚上 19 点有个附属文件生成失败异常提示 依赖的资源[abc_{yyyyMMdd}.txt]未生成  当时看到这个异常的第一眼觉得既熟悉又陌生熟悉的是这个异常信息的结构陌生的是 abc_{yyyyMMdd}.txt 这不是文件名吗 正常来讲应该是 fileId 是一个自增的正整数呀怎么会是文件名了 脑中瞬间闪过一个念头数据库数据有问题 一查吓一跳这个附属文件关联主文件的字段值是 4356,abc_{yyyyMMdd}.txt 看最终修改时间是 2021-08-21 15:22:12.652  4356 文件的文件名就是 abc_{yyyyMMdd}.txt 正常来讲这个关联字段的值应该是 4356  敢情这个 校验Bug 完美的兼容了这个脏数据 所以几年了一直没出现异常 是不是有这味了 这可倒好我把 Bug 修好还出现问题了你说我是不是手贱 经此一役我眼里的光又暗淡了些许 总结 关于对组件的升级或者对旧代码的调整都有可能牵一发动全身影响甚大。 我的观点是能不动就不要动改好没绩效改出问题要背锅吃力不讨好又不是不能跑。 如果到了不得不改的地步了那就需要全面的测试。
http://www.pierceye.com/news/228194/

相关文章:

  • 一家专做灯的网站招聘wordpress 欲思
  • 山西省建设主管部门网站app备案号查询平台官网
  • 百度网站收录链接提交做购物网站的开题报告
  • 迷你主机做网站服务器南京龙媒网络科技有限公司
  • 网站重构给一个网站如何做推广
  • 温州网站推广价钱左侧导航栏网站模板
  • 网站建设朝阳南昌房地产网站建设
  • 大连网络建站公司分析wordpress漫画主题推荐
  • 纪检监察网站建设 讲话制作书签的感受心得
  • 宁波网站建设公司优选亿企邦上海网站快速备案
  • 贵阳有做网站的公司吗微信营销软件免费版
  • 打开网站乱码怎么做河南平台网站建设
  • 物流网站源代码安平县网站建设
  • 自助服务器网站建设修改wordpress的库名
  • 惠州做网站乐云seo网站建设如何插音乐
  • 自媒体图片素材网站东莞网站建设推广技巧
  • 新浪网站是什么程序做的六安网站关键词排名优化地址
  • 手机网站大全123456镇江手机网站建设
  • 企业网站模板下载哪家公司强服装设计就业前景如何
  • 婚纱网站源代码网站制作专业的公司
  • 公司经营范围 网站开发网络工程好就业吗
  • 企业网站建设与管理试题wordpress设置页面访问权限
  • 中国顺德手机网站设计安居客做网站
  • 网站运营的含义百度地图轨迹导航
  • 网站开发时创业中文网站模板
  • 男人最爱的做网站网站建设合作合同范文
  • 我和你99谁做的网站做润滑油网站图片
  • 基于wordpress门户网站wordpress可以自己写代码吗
  • 自己做发卡网站wordpress搬家出问题
  • 网站建设数据库搭建秦皇岛市属于哪个省