Java开发:Bug修复与防止踩坑指南
需积分: 9 162 浏览量
更新于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 上传
2023-06-06 上传
2023-06-01 上传
2023-05-31 上传
2023-06-01 上传
2023-06-13 上传
2023-07-13 上传
BigBenX
- 粉丝: 0
- 资源: 1
最新资源
- OptiX传输试题与SDH基础知识
- C++Builder函数详解与应用
- Linux shell (bash) 文件与字符串比较运算符详解
- Adam Gawne-Cain解读英文版WKT格式与常见投影标准
- dos命令详解:基础操作与网络测试必备
- Windows 蓝屏代码解析与处理指南
- PSoC CY8C24533在电动自行车控制器设计中的应用
- PHP整合FCKeditor网页编辑器教程
- Java Swing计算器源码示例:初学者入门教程
- Eclipse平台上的可视化开发:使用VEP与SWT
- 软件工程CASE工具实践指南
- AIX LVM详解:网络存储架构与管理
- 递归算法解析:文件系统、XML与树图
- 使用Struts2与MySQL构建Web登录验证教程
- PHP5 CLI模式:用PHP编写Shell脚本教程
- MyBatis与Spring完美整合:1.0.0-RC3详解