Как стать автором
Поиск
Написать публикацию
Обновить

Создание небольшой БД SQLite в java

Появилась необходимость сделать приложение на java с подключением БД.

Сама программа будет находится на локальном компьютере слабой конфигурации и без сети. Поэтому выбрана была база SQLite.

Порывшись в сети на простые понятные примеры, ничего найти подходящего не удалось. Пришлось собирать все с разных статей и разных форумов. Надеюсь, данная информация будет полезной.

Для создания самой БД была использована утилита SQLiteadmin, найденная в просторах интернета.

Создание БД сводится к паре действий.

Создаем саму базу и указываем куда ее сохранить.

image


Появившиеся слева папки показывают о успешном создании БД.



Далее переходим к созданию проекта, заполняем необходимые данные, нажимаем NEXT и сразу подгружаем скачанную здесь библиотеку (библиотека для подключения БД к проекту).



После создания проекта, создаю 2 класса.
Первый класс для запуска:

import java.sql.SQLException;

public class db {

	public static void main(String[] args) throws ClassNotFoundException, SQLException {
		conn.Conn();
		conn.CreateDB();
		conn.WriteDB();
		conn.ReadDB();
		conn.CloseDB();
	}
}


Во втором классе сделана основная реализация:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class conn {
	public static Connection conn;
	public static Statement statmt;
	public static ResultSet resSet;
	
	// --------ПОДКЛЮЧЕНИЕ К БАЗЕ ДАННЫХ--------
	public static void Conn() throws ClassNotFoundException, SQLException 
	   {
		   conn = null;
		   Class.forName("org.sqlite.JDBC");
		   conn = DriverManager.getConnection("jdbc:sqlite:TEST1.s3db");
		   
		   System.out.println("База Подключена!");
	   }
	
	// --------Создание таблицы--------
	public static void CreateDB() throws ClassNotFoundException, SQLException
	   {
		statmt = conn.createStatement();
		statmt.execute("CREATE TABLE if not exists 'users' ('id' INTEGER PRIMARY KEY AUTOINCREMENT, 'name' text, 'phone' INT);");
		
		System.out.println("Таблица создана или уже существует.");
	   }
	
	// --------Заполнение таблицы--------
	public static void WriteDB() throws SQLException
	{
		   statmt.execute("INSERT INTO 'users' ('name', 'phone') VALUES ('Petya', 125453); ");
		   statmt.execute("INSERT INTO 'users' ('name', 'phone') VALUES ('Vasya', 321789); ");
		   statmt.execute("INSERT INTO 'users' ('name', 'phone') VALUES ('Masha', 456123); ");
		  
		   System.out.println("Таблица заполнена");
	}
	
	// -------- Вывод таблицы--------
	public static void ReadDB() throws ClassNotFoundException, SQLException
	   {
		resSet = statmt.executeQuery("SELECT * FROM users");
		
		while(resSet.next())
		{
			int id = resSet.getInt("id");
			String  name = resSet.getString("name");
			String  phone = resSet.getString("phone");
	         System.out.println( "ID = " + id );
	         System.out.println( "name = " + name );
	         System.out.println( "phone = " + phone );
	         System.out.println();
		}	
		
		System.out.println("Таблица выведена");
	    }
	
		// --------Закрытие--------
		public static void CloseDB() throws ClassNotFoundException, SQLException
		   {
			conn.close();
			statmt.close();
			resSet.close();
			
			System.out.println("Соединения закрыты");
		   }

}



После запуска получаем данный результат:



Коментарии по коду и вопрос, что за команда, можно поискать в интернете. Данная статья имеет вид знакомства создания БД SQLite в проекте Java.

Так же соблюдение всех пробелов и запятых значительно упростит создание проекта, проще копировать и изменять данные.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.