首页 > 其他分享 >实习生用mybatis的一个弱智问题硬控大哥半小时

实习生用mybatis的一个弱智问题硬控大哥半小时

时间:2024-08-23 21:15:41浏览次数:12  
标签:硬控 ... 弱智 oc 大哥 ztesoft mybatis prod com

今天是我实习的第十天,顺利(其实一点也不顺利)完成了上次描述的接口任务。在距离下班不到10分钟的时候突然脑抽一下子,想启动一下写的项目。

其实都已经测试没问题了,各个接口都是按预期输出,结果突然项目就启动失败了

我瞬间傻眼开始疯狂流汗:好特码吓人啊...

快速回想我都做了什么:

1.把自己的分支提交到了dev分支,准备下周一来上公司服务器测试;

2.把一些魔法值改成常量,然后把可能会变的常量写入MySQL;

3.把一个不适用MySQL5.7的方法留在了xml。这个实在没想起来

我去找大哥的时候其实已经6点了,大哥已经收拾准备下班了.....电脑都收拾好了,我当时很着急,因为这个bug不de我双休会记得这个过得很不舒服,让大哥帮我看看

离谱的是他一开始还不是报xml那个相关的错误

 

首先是我自己跑的时候,他告诉我找不到一个常量类:用一个表是用来存一些容易变动的常量,然后通过常量类的name去读对应的value。我把一些appid、key塞了进去,然后我看了一圈也没事...我就把我用的地方给退回魔法值,退回了居然还报这个错,我就clean了一下然后又改回使用MySQL+缓存这些常量的,居然就不报找不到这个bean了,进入下一阶段....

 

说下面这两个bean冲突了,但是他们俩其实都不在一个模块,大哥很疑惑,但他屈服了....把其中一个controller的name改成了controller1(大哥对不起,其实我也想早点下班)

com.ztesoft.bss.oc.prod.service.TestController
com.ztesoft.bss.oc.prod.server.controller.TestController
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.ztesoft.bss.oc.prod.service.OcProdServiceApplication]; nested exception is 
org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'testController' for bean class
[com.ztesoft.bss.oc.prod.server.controller.TestController] conflicts with existing, non-compatible bean definition of same name and class [com.ztesoft.bss.oc.prod.service.TestController]

这里大哥还在纳闷,我之前都跑通了,只是把我的分支merge到另一个分支,这个分支就跑不通了.....我也纳闷,并且我当时完全不记得我之前有改什么不该改的内容。

 

改完了之后再重启,又报了新的错误,说是加载不了一个依赖,依赖是pom里带的...这时我仔细想了想,当时pom因为一些缩进问题一直在commit里挂着,我索性就把最开始的复制了一遍,然后什么也没点就关了。

这时大哥决定把所有模块都clean一下,然后重新编译一遍...当时电脑没插电,跑的很慢。大哥很急,我也很急。

 

再次运行的时候错误指向了我写的一个xml里的一段select,因为我们是5.7的MySQL,而这个里面用了row_number() over(),我在网上搜这个方法是MySQL8.0才支持的(指的是over())所以把他保留了下来,特意标注了一下这个是MySQL8.0才用的...我和大哥说的时候他告诉我,8.0不开源,我们不会升级到8.0的。

关于我为什么会用到这个方法,整体的思路是和隔壁组借鉴的,秉着能跑就不改的原则借鉴了他们的代码,我学了一个多小时学到了这个问题,然后把他变成了另一个脑铲问题:(



<!-- 这是原方法,但是有当前MySQL版本不支持的函数 -->
<select id="listNetMessageIncludeXiaoMiWhenMysql8.0" resultType="com.ztesoft.bss.oc.prod.client.dto.llm.ImMessageDto"> SELECT </select>

 

最后我和大哥都晚下班半小时,希望我们都能有一个愉快的双休

标签:硬控,...,弱智,oc,大哥,ztesoft,mybatis,prod,com
From: https://www.cnblogs.com/kun1790051360/p/18377093

相关文章

  • JDBC和Mybatis的区别
    jdbc和mybatis的区别功能和用途‌JDBC和MyBatis的主要区别在于它们的功能和用途。‌‌JDBC(JavaDatabaseConnectivity)是Java提供的一套用于连接数据库的接口规范,它允许Java程序与数据库进行交互。JDBC是一个底层的数据库访问技术,开发人员需要手动编写SQL语句并处理结果集的转......
  • MybatisPlus Caused by: org.apache.ibatis.builder.BuilderException: Error evalua
    报错信息:org.mybatis.spring.MyBatisSystemException:nullatorg.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:97)atorg.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessi......
  • MyBatis 源码解读:专栏导读与学习路线
    前言MyBatis是Java开发中广泛使用的持久层框架,其简洁的配置和强大的功能使得它在开发人员中备受欢迎。然而,MyBatis的背后隐藏着许多设计巧妙的架构和复杂的实现逻辑。通过源码解读,我们可以更深入地理解MyBatis的设计思想和工作原理,从而更好地应用它。本专栏将以源码......
  • springboot[4]_配置mybatis
    在springboot中使用mybatis1.建表在test库中,建立一张animal表,并存入三条数据。CREATETABLE`test`.`animal`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(30)CHARACTERSETlatin1COLLATElatin1_swedish_ciNULLDEFAULTNULL,PRIMARYKEY(`id`)......
  • 浅谈Java MyBatis
    一、MyBatis的基本介绍  MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,由谷歌托管,并且改名为MyBatis。2013年11月迁移到Github。    MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。......
  • MybatisPlus
    MybatisPlus 一、介绍MybatisPlus是一个Mybatis的增强工具,为简化开发、提升效率而生。功能:自动生成单表的CRUD功能提供丰富的条件拼接方式全自动ORM类型持久层框架 二、简单使用导入mybatis-plus的启动器<dependencies>  <dependency>  ......
  • mybatis-plus配置自定义sqlInjector(使用InsertBatchSomeColumn),出现Invalid bound stat
    项目一开始未引入mybatis-plus,使用的是mybatis,配置文件为xml,有一个配置类中配置了SqlSessionFactory的相关内容。引入mybatis-plus后,想使用InsertBatchSomeColumn遇到Invalidboundstatement(notfound),多处配置发现没有效果并依旧报错,最终在刚才的配置类中的SqlSessionFact......
  • mybatis框架
    一、了解mybatis框架MyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。MyBatis可以通过简单的XML或注解来配置和映射原始类型、接口和JavaPOJO(PlainOldJavaObjects,普通老式Java......
  • Spring Mybatis拦截器配合logback打印完整sql语句
    在项目开发与维护过程中,常常需要对程序执行的sql语句,进行观察和分析。但是项目通常默认会使用org.apache.ibatis.logging.stdout.StdOutImpl日志配置,该配置是用System.out.println打印的日志,导致只能将执行语句打印到控制台,却没办法打印到日志文件中。如果放开logback日志等......
  • 使用Mybatis 的PageHelper插件实现分页查询功能
    Mybatis提供了一个分页插件PageHelper,它会帮助我们自动完成分页和获取总数量的操作,可以方便实现分页查询。第一步,在pom.xml文件引入PageHelper依赖。<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-s......