Java SQLite 連線範例 – 連接 SQLite Java 與 GroupDocs.Parser
在本教學中,您將學習 如何建立 Java SQLite 連線,讓您的 Java 應用程式使用 GroupDocs.Parser 存取與檢索已解析的文件資料。無論您是構建輕量級的文件驅動工作流程、歸檔提取的表格,或僅需可靠的方式持久化解析結果,本指南都會展示具體步驟,說明 為何 每一步的原因,並提供故障排除技巧,以確保順利整合。
快速答案
- 主要的函式庫是什麼? GroupDocs.Parser for Java
- 涵蓋哪種資料庫? SQLite (file‑based)
- 需要額外的驅動程式嗎? Yes – the SQLite JDBC driver
- 需要授權嗎? A temporary license works for testing; a full license is needed for production
- 可以將解析結果儲存回 SQLite 嗎? Absolutely – use standard JDBC operations
什麼是 Java SQLite 連線範例?
一個 Java SQLite 連線範例 示範如何使用 SQLite JDBC 驅動程式 (jdbc:sqlite:your‑database.db) 開啟檔案型資料庫、執行 SQL 命令並取得結果。當您將其與 GroupDocs.Parser 結合時,您可以直接將文件內容寫入 SQLite 資料表,或提取已儲存的資料以增強解析邏輯。
為什麼要將 Java 資料庫整合與 GroupDocs.Parser 一起使用?
將 SQLite 連接至 GroupDocs.Parser 只需少量程式碼,且能帶來顯著效益。SQLite 將所有資料儲存在單一檔案中,通常小於 2 GB,省去額外伺服器需求,部署開銷可降低最高 80 %。相同的程式碼日後只需更改連接字串,即可切換至功能完整的關聯式資料庫管理系統 (RDBMS)。
如何將 SQLite Java 與 GroupDocs.Parser 連接
載入 SQLite JDBC 驅動程式,使用 DriverManager.getConnection("jdbc:sqlite:mydb.db") 建立 Connection,以有效授權實例化 Parser,然後使用 parser 的 API 讀取文件,並透過預備語句將提取的資料列插入 SQLite。將插入操作包在交易中,可將大量批次的效能提升至最高 5 倍。
步驟 1:加入必要的相依性
將 GroupDocs.Parser 函式庫與 SQLite JDBC 驅動程式加入您的 Maven pom.xml(或等效的 Gradle 檔案)。這可確保 parser 與資料庫驅動程式在編譯時皆可取得。
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-parser</artifactId>
<version>24.0</version>
</dependency>
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.45.1.0</version>
</dependency>
步驟 2:建立 SQLite 連線
Connection(java.sql.Connection)代表與特定資料庫的會話。Connection 物件是您 SQLite 檔案的入口。使用標準 JDBC URL jdbc:sqlite:your-database-file.db。開啟連線是 Java SQLite 連線範例 的核心,讓您能執行 SELECT、INSERT、UPDATE 與 DELETE 語句。
String url = "jdbc:sqlite:mydata.db";
try (Connection conn = DriverManager.getConnection(url)) {
// connection ready for use
}
步驟 3:初始化 GroupDocs.Parser
Parser 是所有文件處理操作的入口。提供授權檔案的路徑(或使用臨時授權進行測試)以及您想要解析的文件。
Parser parser = new Parser("path/to/license.lic");
parser.open("path/to/document.pdf");
步驟 4:解析文件並取得資料
Table(GroupDocs.Parser.Table)代表從文件中提取的結構化表格。
呼叫 parser 的 API 以提取表格、文字或中繼資料。返回的 Table 物件可遍歷,並使用預備語句將每一列插入 SQLite。
List<Table> tables = parser.getTables();
for (Table table : tables) {
for (Row row : table.getRows()) {
// process each cell as needed
}
}
步驟 5:將提取的資料儲存至 SQLite
對於每一筆提取的列,對您的 SQLite 連線執行 INSERT OR REPLACE 語句。將插入操作包在單一交易中,可減少磁碟 I/O,寫入速度提升最高可達 5 倍。
String sql = "INSERT OR REPLACE INTO extracted_data (col1, col2) VALUES (?, ?)";
conn.setAutoCommit(false);
try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
for (Row row : rows) {
pstmt.setString(1, row.getCell(0).getText());
pstmt.setString(2, row.getCell(1).getText());
pstmt.addBatch();
}
pstmt.executeBatch();
conn.commit();
}
步驟 6:清理資源
在 try‑with‑resources 區塊或 finally 子句中關閉 parser 與 JDBC 連線,以確保所有資源正確釋放。
parser.close();
常見問題與解決方案
- 找不到驅動程式 – 確認 SQLite JDBC JAR 已在 classpath 上,且 Maven/Gradle 相依版本與上方顯示的相符。
- 授權錯誤 – 確保臨時授權檔案路徑正確,且檔案可被應用程式存取。
- 資料型別不匹配 – SQLite 為無類型,請在插入前明確轉換 Java 型別(例如
int→String),以避免SQLException。 - 大型文件 – 將表格分批處理或使用串流 API (
parser.getTablesAsync()) 以在 500 頁 PDF 中將記憶體使用量控制在 200 MB 以下。
常見問答
Q: 如何設定 parser 只讀取特定頁面?
A: 使用 ParserOptions 類別在載入文件前設定 PageRange,例如 options.setPageRange(new PageRange(1, 5));。
Q: 解析過程中可以同時查詢 SQLite 嗎?
A: Yes, maintain separate connections for read and write operations, or enable busy_timeout in the JDBC URL (jdbc:sqlite:mydb.db?busy_timeout=5000) to let SQLite wait for locks to clear.
Q: 如果我的 SQLite 檔案被其他程序鎖定該怎麼辦?
A: Ensure exclusive access or add ?busy_timeout=5000 to the JDBC URL so the driver retries for up to 5 seconds before throwing an exception.
Q: 是否可以更新已有的列而非插入新列?
A: Absolutely – replace the INSERT statement with UPDATE or use INSERT OR REPLACE to atomically upsert records.
Q: 在使用 SQLite 時,GroupDocs.Parser 是否支援加密的 PDF?
A: Yes, provide the password via ParserOptions.setPassword("yourPassword") when opening the encrypted document.
其他資源
可用教學
使用 Java 連接 SQLite 資料庫與 GroupDocs.Parser: 完整指南
更多資源
- GroupDocs.Parser for Java 文件說明
- GroupDocs.Parser for Java API 參考
- 下載 GroupDocs.Parser for Java
- GroupDocs.Parser 論壇
- 免費支援
- 臨時授權
最後更新: 2026-10-17
測試環境: GroupDocs.Parser for Java 24.0 (latest release)
作者: GroupDocs