Przyciąga mnie schludność, jaką zapewnia baza danych z jednym plikiem. Jaka biblioteka sterowników / konektorów jest dostępna do łączenia i używania SQLite z Javą.
Odkryłem bibliotekę opakowań, http://www.ch-werner.de/javasqlite , ale czy są dostępne inne bardziej znaczące projekty?
Odpowiedzi:
Na Wiki wymienia kilka owijarki:
źródło
Znalazłem twoje pytanie podczas wyszukiwania informacji za pomocą SQLite i Java. Pomyślałem, że dodam swoją odpowiedź, którą również zamieściłem na swoim blogu .
Od jakiegoś czasu koduję w Javie. Wiem także o SQLite, ale nigdy go nie użyłem… Cóż, użyłem go w innych aplikacjach, ale nigdy w aplikacji, którą kodowałem. Potrzebowałem go więc do projektu w tym tygodniu i to takie proste!
Znalazłem sterownik JDBC Java dla SQLite. Wystarczy dodać plik JAR do ścieżki klasy i zaimportować plik java.sql. *
Jego aplikacja testowa utworzy plik bazy danych, wyśle niektóre polecenia SQL, aby utworzyć tabelę, zapisze niektóre dane w tabeli i odczyta je z powrotem i wyświetli na konsoli. Spowoduje to utworzenie pliku test.db w katalogu głównym projektu. Możesz uruchomić ten przykład za pomocą
java -cp .:sqlitejdbc-v056.jar Test
.źródło
Rozumiem, że pytałeś konkretnie o SQLite, ale może baza danych HSQL lepiej pasowałaby do Javy. Jest napisany w samej Javie, działa w JVM, obsługuje tabele w pamięci itp., A wszystkie te funkcje sprawiają, że jest całkiem użyteczny do prototypowania i testowania jednostkowego.
źródło
Projekt Davida Crawshawa (sqlitejdbc-v056.jar) wydaje się nieaktualny, a ostatnia aktualizacja to 20 czerwca 2009 r. Źródło tutaj
Polecam Xerials widelec z Crawshaw SQLite owijki. Bez problemu zastąpiłem plik sqlitejdbc-v056.jar plikiem Xerials sqlite-jdbc-3.7.2.jar.
Używa tej samej składni, co w odpowiedzi Berniego, i jest znacznie szybszy i ma najnowszą bibliotekę sqlite.
Czym różni się od SQLite JDBC Zentus?
EDYCJA : Jak zwykle, gdy coś zaktualizujesz, pojawią się problemy w niewyraźnym miejscu w twoim kodzie (zdarzyło mi się). Test test test =)
źródło
sqlite-jdbc
Projekt jest świetny, ale należy pamiętać, że jest to Apache License . W związku z tym musisz podać atrybucję, jeśli go używasz, bez względu na to, czy kod ma kod FOSS, czy zastrzeżony.Pojawił się nowy projekt SQLJet, który jest czystą implementacją języka SQLite w Javie. Nie obsługuje jeszcze wszystkich funkcji SQLite, ale może być bardzo dobrą opcją dla niektórych projektów Java, które działają z bazami danych SQLite.
źródło
Post Berniego jest bardzo pomocny. Nie można głosować (nie mam wystarczającej reputacji :(). Ale to bardzo pomogło. Powtarzam!
http://www.zentus.com/sqlitejdbc/
Tutaj możesz znaleźć najnowszy słoik SQLD JDBC. Po prostu dodaj słoik do swojej ścieżki klas i gotowe! :) Możesz uruchomić przykładowy kod Berniego, aby sprawdzić, czy wszystko jest w porządku.
http://souptonuts.sourceforge.net/readme_sqlite_tutorial.html http://www.sqlite.org/lang.html
Tutaj znajdziesz pomoc dotyczącą składni SQL dla SQLite. Pozdrawiam SQLite :)
źródło
Podczas kompilowania i uruchamiania kodu należy ustawić wartość opcji ścieżki klasy. Podobnie jak poniżej:
Proszę zwrócić uwagę na „.” i rzadkie „;” (wygrana, linux to „:”)
źródło
kod sqlitejdbc można pobrać za pomocą git ze strony https://github.com/crawshaw/sqlitejdbc .
Uwaga: Makefile wymaga curl binary do pobierania bibliotek / depl sqlite.
źródło
Przykładowy kod prowadzi do wycieku pamięci w Tomcat (po odinstalowaniu aplikacji internetowej moduł ładujący nadal pozostaje w pamięci), co w
outofmemory
końcu spowoduje . Sposobem na jego rozwiązanie jest użycie narzędzia sqlite-jdbc-3.7.8.jar ; to migawka, więc nie pojawia się jeszcze dla maven.źródło
Literówka:
java -cp .:sqlitejdbc-v056.jar Test
Powinien być:
java -cp .:sqlitejdbc-v056.jar; Test
zauważ średnik po „.jar”. Mam nadzieję, że to pomaga ludziom, może powodować wiele problemów
źródło
.:xxx.jar;
nie ma sensu. Musisz także podać nazwę pakietu dla klasy Test.