Sinto-me atraído pela limpeza que um único banco de dados de arquivo fornece. Qual biblioteca de drivers / conectores existe para conectar e usar o SQLite com Java.
Eu descobri uma biblioteca de invólucros, http://www.ch-werner.de/javasqlite , mas existem outros projetos mais importantes disponíveis?
Respostas:
O wiki lista mais alguns wrappers:
fonte
Encontrei sua pergunta ao procurar informações com SQLite e Java. Apenas pensei em adicionar minha resposta, que também postei no meu blog .
Eu tenho codificado em Java por um tempo agora. Eu também conhecia o SQLite, mas nunca o usei ... Bem, eu o usei em outros aplicativos, mas nunca em um aplicativo que eu codifiquei. Então, eu precisava dele para um projeto esta semana e é de uso tão simples!
Encontrei um driver Java JDBC para SQLite. Basta adicionar o arquivo JAR ao seu caminho de classe e importar java.sql. *
Seu aplicativo de teste criará um arquivo de banco de dados, enviará alguns comandos SQL para criar uma tabela, armazenará alguns dados na tabela e os lerá novamente e será exibido no console. Ele criará o arquivo test.db no diretório raiz do projeto. Você pode executar este exemplo com
java -cp .:sqlitejdbc-v056.jar Test
.fonte
Entendo que você perguntou especificamente sobre SQLite, mas talvez o banco de dados HSQL seja mais adequado ao Java. Ele é escrito no próprio Java, é executado na JVM, suporta tabelas na memória etc., e todos esses recursos o tornam bastante utilizável para prototipagem e teste de unidade.
fonte
O projeto David Crawshaw (sqlitejdbc-v056.jar) parece desatualizado e a última atualização foi em 20 de junho de 2009, fonte aqui
Eu recomendaria Xerials fork de invólucro de sqlite Crawshaw. Substituí o sqlitejdbc-v056.jar pelo arquivo Xerials sqlite-jdbc-3.7.2.jar sem nenhum problema.
Usa a mesma sintaxe da resposta de Bernie e é muito mais rápida e com a mais recente biblioteca sqlite.
O que é diferente do SQLite JDBC do Zentus?
EDIT : Como sempre, quando você atualiza algo, haverá problemas em algum lugar obscuro do seu código (aconteceu comigo). Teste teste teste =)
fonte
sqlite-jdbc
projeto é excelente, mas saiba que é licenciado pela Apache . Portanto, você deve atribuir a atribuição, se o usar, seja seu código FOSS ou proprietário.Há um novo projeto SQLJet que é uma implementação Java pura do SQLite. Ainda não suporta todos os recursos do SQLite, mas pode ser uma opção muito boa para alguns dos projetos Java que funcionam com bancos de dados SQLite.
fonte
A publicação de Bernie é muito útil. Não foi possível votar (não tem reputação suficiente :(). Mas ajudou muito. Só para reiterar!
http://www.zentus.com/sqlitejdbc/
Aqui você encontra o mais recente jar SQLite JDBC. Basta adicionar o jar no seu caminho de classe e pronto! :) Você pode executar o código de exemplo de Bernie para testar se está tudo bem.
http://souptonuts.sourceforge.net/readme_sqlite_tutorial.html http://www.sqlite.org/lang.html
Aqui você pode encontrar ajuda sobre a sintaxe SQL para SQLite. Saúde para SQLite :)
fonte
Ao compilar e executar o código, você deve definir o valor das opções do caminho de classe. Assim como o seguinte:
Por favor, preste atenção em "." e o sparate ";" (vitória, o linux é ":")
fonte
O código do sqlitejdbc pode ser baixado usando o git em https://github.com/crawshaw/sqlitejdbc .
Nota: Makefile requer curl binary para baixar bibliotecas / deps sqlite.
fonte
O código de exemplo leva a um vazamento de memória no Tomcat (depois de desimplementar o aplicativo da web, o carregador de classes ainda permanece na memória), o que causará
outofmemory
eventualmente. A maneira de resolver isso é usando o sqlite-jdbc-3.7.8.jar ; é um instantâneo, por isso ainda não aparece para o maven.fonte
Erro de digitação:
java -cp .:sqlitejdbc-v056.jar Test
deveria estar:
java -cp .:sqlitejdbc-v056.jar; Test
observe o ponto-e-vírgula após ".jar", espero que ajude as pessoas, possa causar muitos problemas
fonte
.:xxx.jar;
, não faz sentido. E você também precisa especificar o nome do pacote para a classe Test.