最近在写一个小项目MyEverythingPlus,主要是实现一个命令行的跨平台搜索的功能。
贴上github链接:https://github.com/GLL1103/MyEverythingPlus.git
在项目中,用了Maven和H2数据库:
H2数据库的优点:
- 非常快,开源,JDBC API
- 嵌入式和服务器模式; 内存数据库
- 基于浏览器的Console应用
- 比较小,大约2MB的jar文件大小
在过程中,出现了下述BUG:

之前搜了很多解决方案,都没有解决我的问题,今天终于请教了大佬,解决了它。
- 手残党真的伤不起:
之前跑过的sql语句因为我手残把表中的两个变量类型整反了(发现的时候内心是奔溃的),在这提醒大家平时敲代码细心些。
2.修改前代码

修改后代码

注意:
当程序执行到:File dbFile = new File(fileName);时,在系统中其实并没有真正的创建dbFile文件,而是在第一个写入时才会真正创建文件(有点像写时拷贝),所以当if中判断dbFile.isFile()时,会去系统中查找并判断其是不是文件,首先当其发现并不存在时,它并不会报错,而是返回false(坑坑坑)。所以条件一直不会满足,一直不会调用initDatabase()函数去初始化数据库。改成判断是否为目录问题就解决了(深呼一口气)。
博主开发小项目MyEverythingPlus,实现命令行跨平台搜索功能,使用了Maven和H2数据库。开发中遇到两个问题,一是手残将表中变量类型整反,二是判断文件是否存在时逻辑有误,后请教大佬解决了问题。
1万+

被折叠的 条评论
为什么被折叠?



