Saya tertarik pada kerapian yang disediakan oleh satu file database. Apa perpustakaan driver / konektor di luar sana untuk menghubungkan dan menggunakan SQLite dengan Java.
Saya telah menemukan perpustakaan pembungkus, http://www.ch-werner.de/javasqlite , tetapi apakah ada proyek lain yang lebih menonjol tersedia?
Jawaban:
The wiki daftar beberapa bungkus lagi:
sumber
Saya menemukan pertanyaan Anda saat mencari informasi dengan SQLite dan Java. Saya pikir saya akan menambahkan jawaban saya yang juga saya posting di blog saya .
Saya telah mengkode di Jawa untuk sementara waktu sekarang. Saya juga tahu tentang SQLite tetapi tidak pernah menggunakannya ... Yah saya telah menggunakannya melalui aplikasi lain tetapi tidak pernah dalam aplikasi yang saya kodekan. Jadi saya membutuhkannya untuk proyek minggu ini dan penggunaannya sangat sederhana!
Saya menemukan driver Java JDBC untuk SQLite. Cukup tambahkan file JAR ke classpath Anda dan impor java.sql. *
Aplikasi pengujiannya akan membuat file database, mengirim beberapa perintah SQL untuk membuat tabel, menyimpan beberapa data dalam tabel, dan membacanya kembali dan ditampilkan di konsol. Ini akan membuat file test.db di direktori root proyek. Anda dapat menjalankan contoh ini dengan
java -cp .:sqlitejdbc-v056.jar Test
.sumber
Saya mengerti Anda bertanya secara spesifik tentang SQLite, tapi mungkin basis data HSQL akan lebih cocok dengan Java. Itu ditulis dalam Java itu sendiri, berjalan di JVM, mendukung tabel dalam memori dll dan semua fitur membuatnya cukup dapat digunakan untuk prototyping dan pengujian unit.
sumber
Proyek David Crawshaw (sqlitejdbc-v056.jar) tampaknya sudah ketinggalan zaman dan pembaruan terakhir adalah 20 Juni 2009, sumber di sini
Saya akan merekomendasikan garpu Xerial dari bungkus sqlite Crawshaw. Saya mengganti file sqlitejdbc-v056.jar dengan Xerials sqlite-jdbc-3.7.2.jar tanpa masalah.
Menggunakan sintaksis yang sama dengan jawaban Bernie dan jauh lebih cepat dan dengan pustaka sqlite terbaru.
Apa yang berbeda dari SQLite JDBC Zentus?
EDIT : Seperti biasa ketika Anda memperbarui sesuatu, akan ada masalah di beberapa tempat yang tidak jelas dalam kode Anda (terjadi pada saya). Tes tes uji =)
sumber
sqlite-jdbc
proyek besar, tetapi menyadari bahwa itu adalah Apache berlisensi . Karena itu, Anda harus memberikan atribusi jika menggunakannya, apakah kode Anda FOSS atau milik.Ada proyek baru SQLJet yang merupakan implementasi Javaite murni dari SQLite. Ini belum mendukung semua fitur SQLite, tetapi mungkin merupakan opsi yang sangat bagus untuk beberapa proyek Java yang bekerja dengan database SQLite.
sumber
Posting Bernie sangat membantu. Tidak dapat memilih (tidak memiliki reputasi yang cukup :(). Tetapi itu sangat membantu. Hanya untuk mengulangi!
http://www.zentus.com/sqlitejdbc/
Di sini Anda dapat menemukan tabung JDBC SQLite terbaru. Cukup tambahkan toples ke dalam classpath Anda dan Anda selesai! :) Anda dapat menjalankan kode sampel Bernie untuk menguji apakah semuanya baik-baik saja.
http://souptonuts.sourceforge.net/readme_sqlite_tutorial.html http://www.sqlite.org/lang.html
Di sini Anda dapat menemukan bantuan tentang sintaks SQL untuk SQLite. Cheers to SQLite :)
sumber
Ketika Anda mengkompilasi dan menjalankan kode, Anda harus mengatur nilai opsi classpath. Seperti berikut ini:
Harap perhatikan "." dan sparate ";" (win, linux adalah ":")
sumber
kode sqlitejdbc dapat diunduh menggunakan git dari https://github.com/crawshaw/sqlitejdbc .
Catatan: Makefile membutuhkan biner curl untuk mengunduh pustaka / deps sqlite.
sumber
Kode contoh mengarah ke kebocoran memori di Tomcat (setelah tidak menggunakan webapp, classloader masih tetap ada dalam memori) yang akan menyebabkan
outofmemory
akhirnya. Cara untuk mengatasinya adalah dengan menggunakan sqlite-jdbc-3.7.8.jar ; itu adalah snapshot, jadi belum muncul untuk maven.sumber
Salah ketik:
java -cp .:sqlitejdbc-v056.jar Test
seharusnya:
java -cp .:sqlitejdbc-v056.jar; Test
perhatikan titik koma setelah ".jar" saya harap itu membantu orang, bisa menimbulkan banyak kerumitan
sumber
.:xxx.jar;
tidak masuk akal. Dan Anda juga perlu menentukan nama paket untuk kelas Tes.