先总的说一下情况吧。
需要通过查询一张表的id,然后通过这个id去查询另一张表的数据,最终把数据查到另一张表中。重要的是在这个数据中有一个字段是存放的zip包。
在开发中遇到另个问题:
1、两个ResultSet不能进行嵌套,如果嵌套会使后面的一个ResultSet会覆盖前一个ResultSet(通俗的生活就在ResultSet失效,报这个错直接原因就是引用next()方法),ResultSet都失效了,再去用next()肯定会报错。
2、另一个就是这个zip字段的问题。由于zip会有很多各种符号(如下图所示),直接导入会有异常。其实也是比较简单,但是好久没有写过jdbc的东西,也就忘了,排查了好久。(这个file字段实际上是一个zip包)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vQWeNWTH-1663419231295)(/Users/fuwei/Library/Application Support/typora-user-images/image-20220917203441341.png)]
遇到问题的解决方案:
1、出现两个ResultSet嵌套的情况,就是把第一个ResultSet转换为list,然后再list中添加ResultSet。这个就可以解决第一个遇到的问题。2、第二个问题的解决方案就是比较简单,在插入的时候不要直接插入,使用PreparedStatement方式进行插入,也就是使用占位符的方式进行。这样就可以解决第二个问题
正确完整版代码
public class Main {
// 为了便于查看