Sqlite в Eclipse

У новичка всегда возникает много простых, но очень конкретных вопросов, что и как делать, вот я и попробую на пальцах объяснить, как работать с базой данных 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();

Закрытие всего, что было открыто.
Можете скачать весь проект.

Вот и все! Моей задачей было только дать толчок, дерзайте.

15 комментариев в записи “Sqlite в Eclipse

  1. Zzzzz on 07.09.2011 at 15:39 написал:

    Хорошая статья! Молодец!

  2. Данил on 08.09.2011 at 07:36 написал:

    Алексей, спасибо — статья очень помогла въехать в начало работы в SQLite и вообще с базами :)

  3. Владислав on 26.10.2011 at 10:44 написал:

    Очень полезная статейка, спасибо, реально помогло, только начинаю изучать связку eclipse+sqlite.

  4. Алексей Шишкин on 26.10.2011 at 21:13 написал:

    Да я сам в java не на много больше понимаю, чем в этой статье =), просто в инете ничего особо полезного не нашел и мне сильно помогли в освоении. Мне помогли и я решил помочь.

  5. Андрей on 23.12.2011 at 14:05 написал:

    Спасбо. Первое, что помогло.

  6. Александра on 08.02.2012 at 22:00 написал:

    Спасибо огромнейшее. Все так доступно изложено. Статья мня просто выручила)

  7. Юрий on 20.03.2012 at 15:35 написал:

    Хорошая статья, но необходимо указать где можно скачать sqlitejdbc-v056.jar

  8. Алексей Шишкин on 20.03.2012 at 20:54 написал:

    Можно погуглить или скачать весь проект, там есть.

  9. Андрей on 25.03.2012 at 09:57 написал:

    Спасибо помогло,
    я использовал драйвер http://www.xerial.org

  10. Харьков on 01.05.2012 at 10:17 написал:

    У меня такая проблема: всё компилируется без ошибок но в консоль данные не выводит в чём может быть проблема?

  11. Аноним on 06.05.2012 at 18:45 написал:

    http://wiki.eclipse.org/Connecting_to_SQLite

    http://www.ch-werner.de/javasqlite/
    http://www.ch-werner.de/javasqlite/javasqlite-20060714-win32.zip

    Это ссылки откуда можно скачать драйвер.
    Статья — «сразу в работу». Спасибо.

  12. Аноним on 06.05.2012 at 18:54 написал:

    import java.sql.*;

    public class sqlite20 {
    public static void main(String[] args) throws Exception {
    Class.forName(«org.sqlite.JDBC»);
    Connection conn =
    DriverManager.getConnection(«jdbc:sqlite:test.db»);
    Statement stat = conn.createStatement();
    stat.executeUpdate(«drop table if exists people;»);
    stat.executeUpdate(«create table people (name, occupation);»);
    PreparedStatement prep = conn.prepareStatement(
    «insert into people values (?, ?);»);

    prep.setString(1, «Gandhi»);
    prep.setString(2, «politics»);
    prep.addBatch();
    prep.setString(1, «Turing»);
    prep.setString(2, «computers»);
    prep.addBatch();
    prep.setString(1, «Wittgenstein»);
    prep.setString(2, «smartypants»);
    prep.addBatch();

    conn.setAutoCommit(false);
    prep.executeBatch();
    conn.setAutoCommit(true);

    ResultSet rs = stat.executeQuery(«select * from people;»);
    while (rs.next()) {
    System.out.println(«name = » + rs.getString(«name»));
    System.out.println(«job = » + rs.getString(«occupation»));
    }
    rs.close();
    conn.close();
    }
    }

    Можно попробовать еще такой код
    (http://www.zentus.com/sqlitejdbc/)
    тоже работает

    при этом
    import org.sqlite.SQLite;
    import org.sqlite.JDBC;
    не используется

  13. Дима on 09.06.2012 at 08:12 написал:

    Очень помогло! спасибо! заработало с первого раза :)

  14. Dmitry on 23.05.2013 at 11:12 написал:

    Спасибо за полезный толчок :)

  15. Огромное спасибо!!

Добавить комментарий

Ваш e-mail не будет опубликован.

CAPTCHA image

Навигация по записям