Por essa nem eu esperava. Estou me aventurando no mundo do Java, depois de tudo que eu falei mal dessa linguagem. Mas fazer o que, não dá pra trabalhar com uma linguagem só :p No fundo, Java é muito legal. Depois de aprender a sintaxe básica do Java, resolvi me aventurar também no SQLite e de quebra, matei dois coelhos com uma pedrada só.

O SQLite é uma biblioteca escrita em C que fornece um banco de dados que dispensa configurações/ajustes. É criado um novo arquivo no disco e a biblioteca se encarrega de todas as operações sobre ele, dispensando um processo separado para o SGBD, como é comum na maioria dos bancos de dados. Para mais informações, consulte o site oficial (http://sqlite.org).

O exemplo abaixo é extremamente básico, pois ainda estou aprendendo as manhas. Let’s work!

Para começar, baixe a biblioteca do SQLite aqui. O .jar disponível funciona tanto em Linux, como em Windows e Mac. Inclua a biblioteca em seu projeto. No caso do NetBeans, procure a aba Projetos, selecione seu projeto, vá em Bibliotecas, botão direito e selecione Adicionar JAR/Pasta, informando a localização do arquivo baixado.

O exemplo baseia-se em um cadastro de pessoas, contendo nome e idade. São três classes: Pessoa (o “The book is on the table” da orientação a objetos, todo mundo que está aprendendo OO faz essa classe), SQLite, onde estão implementados os métodos para inserção e listagem e a classe Exemplo, a classe principal do projeto.

Classe Pessoa

package testesqlite;

public class Pessoa {
	private int idade;
	private String nome;

	public Pessoa(String nome, int idade) {
		this.nome = nome;  
		this.idade = idade;
	}

	public String getNome() {	  
		return this.nome;
	}

	public void setNome(String nome) {	  
		this.nome = nome;
	}

	public int getIdade() {
		return this.idade;
	}

	public void setIdade(int idade) {
		this.idade = idade;
	}
}

Classe SQLite

package testesqlite;

import java.sql.*;
import java.util.Vector;

public class SQLite {
	private Connection conn;
	private Statement stm;

	public SQLite(String arquivo) throws SQLException, ClassNotFoundException {
		Class.forName("org.sqlite.JDBC");

		this.conn = DriverManager.getConnection("jdbc:sqlite:" + arquivo);
		this.stm = this.conn.createStatement();
	}

	public void initDB() {	  
		try {
			// Remove e cria a tabela a cada execução. Mero exemplo

			this.stm.executeUpdate("DROP TABLE IF EXISTS pessoas");

			this.stm.executeUpdate("CREATE TABLE pessoas ("
				+ "nome varchar(70) PRIMARY KEY NOT NULL,"
				+ "idade integer);");
		} 
		catch (SQLException e) {
			e.printStackTrace();  
		}  
	}

	public void insert(Pessoa pessoa) {		  
		try {		  
			this.stm = this.conn.createStatement();
		  
			this.stm.executeUpdate("INSERT INTO pessoas VALUES ("
				+ pessoa.getNome() + ","
				+ pessoa.getIdade() + ")");
		}
		catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public void removePessoa(String nome) {		  
		try {		  
			this.stm = this.conn.createStatement();

			this.stm.executeUpdate("DELETE FROM pessoas WHERE nome = " + nome);
		}
		catch (SQLException e) {
			e.printStackTrace();  
		}  
	}

	public Vector getAll() {
		Vector lista = new Vector();	  
		ResultSet rs;

		try {
			rs = this.stm.executeQuery("SELECT * FROM pessoas ORDER BY idade");

			while (rs.next()) {
				lista.add(new Pessoa(rs.getString("nome"), rs.getInt("idade")));
			}

			rs.close();

		}
		catch (SQLException e) {
			e.printStackTrace();
		}

		return lista;
	}
}
  

Classe Exemplo (main)

package testesqlite;

import java.util.Iterator;

public class Exemplo {
	public static void main(String[] args) {
		try {
			SQLite dbCon = new SQLite("pessoas.db");
			dbCon.initDB();

			dbCon.insert(new Pessoa("Jonnas", 19));
			dbCon.insert(new Pessoa("Fulano", 20));
			dbCon.insert(new Pessoa("Beltrano", 10));

			Exemplo.listaTodos(dbCon);

			System.out.println("Removemos a pessoa com o nome Fulano e listamos novamenten");
			dbCon.removePessoa("Fulano");

			Exemplo.listaTodos(dbCon);
		}
		catch (Exception e) {
			e.printStackTrace();
		}  
	}

	public static void listaTodos(SQLite dbCon) {
		Iterator it = dbCon.getAll().iterator();
		Pessoa hs;

		while (it.hasNext()) {
			hs = (Pessoa) it.next();

			System.out.println("Nome:" + hs.getNome());
			System.out.println("Idade:" + hs.getIdade() + "n");
		}
	}
}

O código tá bem amador ainda, mas dá pra ter uma noção de como funciona o SQLite com Java. É criado um arquivo chamado “pessoas.db” que será o banco de dados. É criada uma tabela “pessoas” e inserido três registros nela. Todos os registros são listados, remove-se uma das pessoas e lista-se novamente.

Baixe aqui o projeto criado no NetBeans (com a biblioteca já incluída).

Abraço e até a próxima!