tiRolin 最近的时间轴更新
tiRolin

tiRolin

V2EX 第 457998 号会员,加入于 2019-12-07 23:11:05 +08:00
Java 中 Spring 如何实现注解根据不同类分别处理属性过滤逻辑?
Java  •  tiRolin  •  6 小时 10 分钟前  •  最后回复来自 hapeman
11
那个广州众蝶软件公司是外包公司吗?
职场话题  •  tiRolin  •  224 天前  •  最后回复来自 GuLuDaDuiZhang
9
tiRolin 最近回复了
@guozi1117 我知道可以通过非注解的方式来实现我的需求,但是我就想知道基于注解应该要怎么实现,能不能实现这样的
@sugarkeek 乍一看还以为是充电宝
@night98 我解决这个问题了,问题的原因是 SpringBoot3 的版本一旦配合使用内嵌的 mybatis3 就会导致这个错误,解决这个错误的方法是将 springboot 的版本降级为 3.1.6 同时引入下面的两个依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3</version>
</dependency>

<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-core</artifactId>
<version>3.5.3</version>
</dependency>
就可以完美解决该问题,之所以之前迟迟解决不了是因为一直怀疑是我的自己的配置出了问题,没想到问题是直接出在依赖上,这个依赖组合是存在未修复的 Bug 的
@Edaa 我解决这个问题了,问题的原因是 SpringBoot3 的版本一旦配合使用内嵌的 mybatis3 就会导致这个错误,解决这个错误的方法是将 springboot 的版本降级为 3.1.6 同时引入下面的两个依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3</version>
</dependency>

<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-core</artifactId>
<version>3.5.3</version>
</dependency>
就可以完美解决该问题,之所以之前迟迟解决不了是因为一直怀疑是我的自己的配置出了问题,没想到问题是直接出在依赖上,这个依赖组合是存在未修复的 Bug 的
@montaro2017 我解决这个问题了,问题的原因是 SpringBoot3 的版本一旦配合使用内嵌的 mybatis3 就会导致这个错误,解决这个错误的方法是将 springboot 的版本降级为 3.1.6 同时引入下面的两个依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3</version>
</dependency>

<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-core</artifactId>
<version>3.5.3</version>
</dependency>
就可以完美解决该问题,之所以之前迟迟解决不了是因为一直怀疑是我的自己的配置出了问题,没想到问题是直接出在依赖上,这个依赖组合是存在未修复的 Bug 的
@montaro2017 我试了下,通过 IService 的方式来实现接口也同样报这个异常,我的意思是我通过在 Service 接口中继承 IService ,然后构建一个 Service 实现类,这个实现类继承 ServiceImpl 的方式来实现方法调用,也是同样报这个问题
@night98 不行,我试了下仍然报这个异常,我使用 IService 的方式来实现接口也同样报这个问题
@montaro2017 我在您说的地方打了断点,并没有执行,我的 BaseService 是从公司仓库里拉取到我的项目中的,具体到 pom 文件的代码是
<dependency>
<groupId>com.example.base</groupId>
<artifactId>base-core</artifactId>
<version>${com.example.version}</version>
</dependency>
<dependency>
<groupId>com.example.common</groupId>
<artifactId>common-redis</artifactId>
<version>${com.example.version}</version>
</dependency>
我觉得我应该没缺少什么内容,当然也可能真缺少了,但是我现在也不确定,因为我还没搞懂这个问题到底是为什么而产生的
@montaro2017 是 com.example.common.mybatis.service.BaseService;
因为这个是我公司提供的依赖,这里我用 example 我替代掉了公司的依赖路径包名
BaseService 中的源码我不能给你看,但是他的类是如下所示
public class BaseService<M extends BaseMapper<T>, T> extends ServiceImpl<M, T> {
public BaseService() {
}
// ...略
}
其中略的代码内容是提供了分页、插入、删除方法
我最初也考虑过可能是因为该依赖并没有提供 count 方法导致的 bug ,但是后面当我跳过 count 方法直接调用 insert 方法时也照样报这个异常,所以我认为原因应该不是该依赖没有提供 count 方法这么简单,问题可能是在其他地方导致的
@montaro2017 并非是路径问题,我已经在 pom 文件中加了对应的配置了, 我很确定编译后的项目是由 XML 这个文件的,事实上,当我在 XML 里自定义方法的时候,也可以正常调用,问题在于,mybatisplus 应该提供给我事先设置好的方法,但当我调用他们的时候,总是会报错我的问题,主要在这里
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2563 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 15:24 · PVG 23:24 · LAX 07:24 · JFK 10:24
Developed with CodeLauncher
♥ Do have faith in what you're doing.