У новичка всегда возникает много простых, но очень конкретных вопросов, что и как делать, вот я и попробую на пальцах объяснить, как работать с базой данных sqlite на Java в среде программирования Eclipse.
Здесь я не буду писать, что такое Java и Eclipse, где их скачать и как устанавливать, но зато мой урок можно будет выполнять сразу после написания программы «Hello World».
Поехали! Начнем с создания проекта.
Создаем проект: File -> New -> Java Project
В форме заполняем Project name: sqlite и жмем кнопку Finish.
Проект создан.
Создаем java-файл, в котором будет написан текст программы, для этого: File -> New -> Class
В форме заполняем Name: sqlite, ставим галочку public static void main, снимаем галочку Inherited abstract methods и жмем кнопку Finish.
Файл scr/sqlite.java создан, можно приступать к написанию программы.
Переходим к работе с базой данных, я выбрал sqlite, но можно с любой другой, принципы одинаковые. Необходимо сказать несколько слов о базах данных в Java, JDBC (Java DataBase Connectivity) – стандарт для связи Java-программы с базой данных, подключение происходит с помощью так называемых драйверов, подробнее можно найти уйму информации. Теперь сразу к делу, нужно найти драйвер sqlite, который является jar-файлом, и подключить к проекту: создаем в корне проекта папку lib и копируем туда файл драйвера sqlite, в Eclipse в панели Package Explorer (слева) кликаем правой кнопкой мыши и выбираем Refresh.
После этого в Package Explorer появится папка lib и драйвер sqlitejdbc-v056.jar
Теперь драйвер нужно подключить к проекту, кликаем правой кнопкой мыши на название проекта в Package Explorer и выбираем Properties.
Выбираем пункт Java Build Path -> вкладка Libraries -> кнопка Add JARs…
Выделяем файл драйвера и кликаем на кнопке OK.
А вот теперь как раз пора писать код. Я просто приведу текст файла scr/sqlite.java.
import java.sql.*;
import org.sqlite.SQLite;
import org.sqlite.JDBC;
public class sqlite {
public static void main(String[] args) throws Exception{
Class.forName("org.sqlite.JDBC");
Connection bd = DriverManager.getConnection("jdbc:sqlite:sqlite.db3");
Statement st = bd.createStatement();
st.execute("create table if not exists 'TABLE1' ('name1' int, 'name2' text, 'name3' text);");
st.execute("insert into 'TABLE1' ('name1', 'name2', 'name3') values (1, 'name1', 'name2'); ");
st.execute("insert into 'TABLE1' ('name1', 'name2', 'name3') values (2, 'name3', 'name4'); ");
st.execute("insert into 'TABLE1' ('name1', 'name2', 'name3') values (3, 'name5', 'name6');");
ResultSet rs = st.executeQuery("select * from TABLE1");
while (rs.next())
{
System.out.print (rs.getString(1)+" ");
System.out.print (rs.getString(2)+" ");
System.out.println(rs.getString(3));
}
bd.close();
st.close();
rs.close();
}
}
Не вдаваясь в лишние подробности, поясню лишь самое главное.
Class.forName("org.sqlite.JDBC");
Connection bd = DriverManager.getConnection("jdbc:sqlite:sqlite.db3");
Statement st = bd.createStatement();
Эта конструкция позволяет подключить саму базу данных.
st.execute("create table if not exists 'TABLE1' ('name1' int, 'name2' text, 'name3' text);");
st.execute("insert into 'TABLE1' ('name1', 'name2', 'name3') values (1, 'name1', 'name2'); ");
st.execute("insert into 'TABLE1' ('name1', 'name2', 'name3') values (2, 'name3', 'name4'); ");
st.execute("insert into 'TABLE1' ('name1', 'name2', 'name3') values (3, 'name5', 'name6');");
ResultSet rs = st.executeQuery("select * from TABLE1");
Как легко догадаться, это sql-запросы
while (rs.next())
{
System.out.print (rs.getString(1)+" ");
System.out.print (rs.getString(2)+" ");
System.out.println(rs.getString(3));
}
Вывод информации в консоль среды Eclipse
bd.close();
st.close();
rs.close();
Закрытие всего, что было открыто.
Можете скачать весь проект.
Вот и все! Моей задачей было только дать толчок, дерзайте.