Статьи

Бессерверное решение для баз данных с нулевой конфигурацией: SQLite


Большая часть программного обеспечения требует сохранения данных.
Иногда прогнозируется, что эти данные будут небольшими, и сотни или тысячи транзакций с ними не потребуются одновременно. Но вам потребуются некоторые SQL-подобные операции с этими данными, потому что некоторые модификации могут быть сложными и занимать много времени при обычных файловых операциях. В то время SQLite становится очень практичным решением этой ситуации.

Он начинался как библиотека C / C ++ (на 
http://www.sqlite.org/ ), но у него также есть проект Xerial jdbc для Java (на
http://www.xerial.org/trac/Xerial/wiki/SQLiteJDBC  и 
 Наконец,
https://bitbucket.org/xerial/sqlite-jdbc ). Мы расскажем некоторые детали проекта Java JDBC здесь. Некоторые критические свойства:
  • Вам нужен только  один  файл jar и добавление его в путь к классам.

Загрузите последнюю версию jar (отсюда: 
https://bitbucket.org/xerial/sqlite-jdbc/downloads ) и добавьте в classpath.
  • Нужна  одна  строка кода, чтобы начать использовать.

Class.forName ( «org.sqlite.JDBC»);
линии достаточно для активации драйвера.
  • Он создает  один  файл базы данных для каждой схемы в месте, которое вы определите.

Соединение con = DriverManager.getConnection («jdbc: sqlite: mydb.db»);
строка создает файл «mydb.db» в качестве файла базы данных в корне вашего проекта и создает соединение для операций с БД.
  • Поддерживает общий синтаксис JDBC SQL с полезным API JDBC.

Ниже приведены некоторые примеры кода (операторы открытия / закрытия соединения не включены каждый раз для упрощения операторов):


// открытие соединения

Connection  con = 
DriverManager .getConnection («jdbc: sqlite: person.db»);

Оператор  stat = con.createStatement ();

// закрытие соединения

con.close ();

// создание таблицы

stat.executeUpdate («создать таблицу person (id INT, name varchar (30));»);

// удаление таблицы

stat.executeUpdate («удалить таблицу, если существует человек»);

// вставка данных

PreparedStatement  prep = con.prepareStatement («вставить в персональные значения (?,?);»);

prep.setInt (1, 1);

prep.setString (2, «Энди Браун»);

prep.execute ();

//  выбираем данные

ResultSet res = stat.executeQuery («select * from person»);

while (res.next ()) {

     
System .out.println (res.getString («id») + «» + res.getString («name»));

}

// обновляем данные

PreparedStatement prep = con.prepareStatement («имя обновления лица =? где id =?;»);

prep.setString (1, «Энди Блэк»);

prep.setInt (2, 1);

prep.execute ();


Для более подробных примеров о синтаксисе SQL, пожалуйста, взгляните на: