Java开发:Bug修复与防止踩坑指南
需积分: 9 73 浏览量
更新于2024-09-01
收藏 7KB MD 举报
"bug集中营总结.md" 是一篇关于作者在编程过程中遇到的常见问题及其解决方案的文档。其中提到了两个主要的bug及其处理方法。
### 问题1:创建mapper接口,编写xml文件sql语句,执行错误
当遇到`org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)`这个异常时,通常是由于Maven默认加载机制导致的问题。Maven仅编译.java文件,而不处理.xml文件。以下是一些解决方法:
1. 手动复制xml目录:将xml文件复制到target目录,帮助Maven完成编译。
2. 移动xml文件:将xml文件移至`src/main/resources`目录,这样Maven会在构建过程中自动处理它们。
3. 推荐做法:在pom.xml和application.properties文件中做如下配置:
- 在pom.xml中添加构建资源配置,使Maven包含java目录下的所有.xml文件:
```xml
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
```
- 在application.properties中指定MyBatis-Plus的mapper XML文件路径,如:
```properties
mybatis-plus.mapper-locations=classpath:com/atguigu/eduservice/mapper/xml/*.xml
```
### 问题2:未指定泛型的类型
在使用`@RequestParam`注解时,如果参数类型是`List<?>`,而没有明确指定泛型类型,会导致编译错误。例如:
```java
@DeleteMapping("/eduvod/video/delete-batch")
public R deleteBatch(@RequestParam("videoIds") List<?> videoIds) {
// ...
}
```
修复这个问题的方法是在`List`后面明确指定泛型类型,例如,如果视频ID是Integer类型,应改为:
```java
@DeleteMapping("/eduvod/video/delete-batch")
public R deleteBatch(@RequestParam("videoIds") List<Integer> videoIds) {
// ...
}
```
这样做可以确保类型安全,并避免在运行时出现类型转换异常。
这两个bug及其解决方案是开发者在日常工作中可能会遇到的问题,及时识别并正确处理这些问题能提高开发效率,避免无谓的时间浪费。对于初学者来说,理解这些问题的原因和解决方法是非常重要的,可以帮助他们在编程过程中少走弯路。
2020-09-29 上传
2020-08-12 上传
2020-10-29 上传
2021-03-31 上传
BigBenX
- 粉丝: 0
- 资源: 1
最新资源
- 双耳数据发生器
- JGit4MATLAB:JGit4MATLAB 是 MATLAB 中 JGit 的包装器。 它旨在从 MATLAB 命令窗口使用。-matlab开发
- lm-evaluation-harness:一次评估自回归语言模型的框架
- 粗React
- mybatis - 使用Spring+Springmvc+Mybatis实现秒杀商品案例.zip
- niu-ui:UI组件库
- studiodev:Primerapágina网站
- sysconst2020.2:计算许可证的材料数据库2020.2
- upptime:El Elliston James的正常运行时间监控器和状态页面,由@upptime提供支持
- 时尚抽象艺术下载PPT模板
- Harmonograph Generator:基于 4 个钟摆生成和声器的接口。-matlab开发
- maze-generator:基于Web的迷宫生成器
- 电子商务-java11springboot
- Java mybatis - 实践学习案例.zip
- 哑剧
- TextBuddyScripts:TextBuddy脚本的少量集合