Sqlite in java project

How to connect SQLite with Java?

You need to have a SQLite JDBC driver in your classpath.

Taro L. Saito (xerial) forked the Zentus project and now maintains it under the name sqlite-jdbc. It bundles the native drivers for major platforms so you don’t need to configure them separately.

i am using this driver, and works fine. But why it is not compacting database while creating.With FireFox sqlite plugin Database compacted from 11.5MB to 11.3MB. how to do that with java.

@Dyapa You need to periodically run VACUUM ; since JDBC doesn’t actually interpret the SQL (for very good reasons) just send it over. Or use a pragma per connection to run in auto-vacuum mode.

For those experiencing this issue with Tomcat this jar needs to be put into the lib folder for respective Tomcat version. Tomcat will also need to be restarted. In the web application, the jar needs to be placed into the WEB-INF lib folder as well. You don’t need to add it to the build path because putting it in the WEB-INF lib folder places it there automatically.

If you are using netbeans Download the sqlitejdbc driver Right click the Libraries folder from the Project window and select Add Library , then click on the Create button enter the Library name (SQLite) and hit OK

You have to add the sqlitejdbc driver to the class path , click on the Add Jar/Folder.. button and select the sqlitejdbc file you’ve downloaded previously Hit OK and you are ready to go !

I struggled a lot because of this problem. I am a Java newbie and using Netbeans. It’s been a frustration. Finally, your answer saved my day.

If you are using Netbeans using Maven to add library is easier. I have tried using above solutions but it didn’t work.

I have added Maven dependency and java.lang.ClassNotFoundException: org.sqlite.JDBC error gone.

Источник

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

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

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

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

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

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

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

image

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

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

Читайте также:  Html effects for text

После создания проекта, создаю 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 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.

Так же соблюдение всех пробелов и запятых значительно упростит создание проекта, проще копировать и изменять данные.

Источник

Sqlite in java project

Learn Latest Tutorials

Splunk tutorial

SPSS tutorial

Swagger tutorial

T-SQL tutorial

Tumblr tutorial

React tutorial

Regex tutorial

Reinforcement learning tutorial

R Programming tutorial

RxJS tutorial

React Native tutorial

Python Design Patterns

Python Pillow tutorial

Python Turtle tutorial

Keras tutorial

Preparation

Aptitude

Logical Reasoning

Verbal Ability

Company Interview Questions

Artificial Intelligence

AWS Tutorial

Selenium tutorial

Cloud Computing

Hadoop tutorial

ReactJS Tutorial

Data Science Tutorial

Angular 7 Tutorial

Blockchain Tutorial

Git Tutorial

Machine Learning Tutorial

DevOps Tutorial

B.Tech / MCA

DBMS tutorial

Data Structures tutorial

DAA tutorial

Operating System

Computer Network tutorial

Compiler Design tutorial

Computer Organization and Architecture

Discrete Mathematics Tutorial

Ethical Hacking

Computer Graphics Tutorial

Software Engineering

html tutorial

Cyber Security tutorial

Automata Tutorial

C Language tutorial

C++ tutorial

Java tutorial

.Net Framework tutorial

Python tutorial

List of Programs

Control Systems tutorial

Data Mining Tutorial

Data Warehouse Tutorial

Javatpoint Services

JavaTpoint offers too many high quality services. Mail us on h[email protected], to get more information about given services.

  • Website Designing
  • Website Development
  • Java Development
  • PHP Development
  • WordPress
  • Graphic Designing
  • Logo
  • Digital Marketing
  • On Page and Off Page SEO
  • PPC
  • Content Development
  • Corporate Training
  • Classroom and Online Training
  • Data Entry

Training For College Campus

JavaTpoint offers college campus training on Core Java, Advance Java, .Net, Android, Hadoop, PHP, Web Technology and Python. Please mail your requirement at [email protected].
Duration: 1 week to 2 week

Like/Subscribe us for latest updates or newsletter RSS Feed Subscribe to Get Email Alerts Facebook Page Twitter Page YouTube Blog Page

Источник

Работа с SQLite в Java

Работа с SQLite в Java

Всем доброго времени суток. На связи Алексей Гулынин. В данной статье я бы хотел рассказать, как работать с SQLite в Java. При работе с базами данных на Java будем использовать технологию JDBC (Java DataBase Connectivity)) . JDBC — это API для работы с базами данных на Java. Компания Oracle разработала универсальный интерфейс для работы с драйверами JDBC. Допустим, вы написали какую-то СУБД. Для того, чтобы программа на Java могла работать с вашей СУБД вам необходимо реализовать данный интерфейс.

В данном примере мы будем работать с SQLite . Для этого скачаем драйвер JDBC для SQLite (в поисковике можете прямо так и указать).

Читайте также:  Что такое api на php

Для того, чтобы подключить данный драйвер БД нужно зайти в File — Project Structure (Ctrl + Alt + Shift + S) — Libraries и указываем путь до драйвера, который скачали.

Создадим простую базу данных по учету расходов. Будет всего 1 таблица: Products . Таблица Products будет состоять из следующих столбцов: id , good (наименование товара), category_name (наименование категории, к которой относится товар), price (цена товара).

Файл базы данных вместе с проектом можно скачать по ссылке.

Создадим класс Product , в котором будет находиться информация по нашему продукту:

public class Product < // Поля класса public int id; public String good; public double price; public String category_name; // Конструктор public Product(int id, String good, double price, String category_name) < this.id = id; this.good = good; this.price = price; this.category_name = category_name; >// Выводим информацию по продукту @Override public String toString() < return String.format("ID: %s | Товар: %s | Цена: %s | Категория: %s", this.id, this.good, this.price, this.category_name); >>

Создадим класс DbHandler , в котором будет находиться вся логика работы с базой данных:

import org.sqlite.JDBC; import java.sql.*; import java.util.*; public class DbHandler < // Константа, в которой хранится адрес подключения private static final String CON_STR = "jdbc:sqlite:D:/myfin.db"; // Используем шаблон одиночка, чтобы не плодить множество // экземпляров класса DbHandler private static DbHandler instance = null; public static synchronized DbHandler getInstance() throws SQLException < if (instance == null) instance = new DbHandler(); return instance; >// Объект, в котором будет храниться соединение с БД private Connection connection; private DbHandler() throws SQLException < // Регистрируем драйвер, с которым будем работать // в нашем случае Sqlite DriverManager.registerDriver(new JDBC()); // Выполняем подключение к базе данных this.connection = DriverManager.getConnection(CON_STR); >public List getAllProducts() < // Statement используется для того, чтобы выполнить sql-запрос try (Statement statement = this.connection.createStatement()) < // В данный список будем загружать наши продукты, полученные из БД Listproducts = new ArrayList(); // В resultSet будет храниться результат нашего запроса, // который выполняется командой statement.executeQuery() ResultSet resultSet = statement.executeQuery("SELECT id, good, price, category_name FROM products"); // Проходимся по нашему resultSet и заносим данные в products while (resultSet.next()) < products.add(new Product(resultSet.getInt("id"), resultSet.getString("good"), resultSet.getDouble("price"), resultSet.getString("category_name"))); >// Возвращаем наш список return products; > catch (SQLException e) < e.printStackTrace(); // Если произошла ошибка - возвращаем пустую коллекцию return Collections.emptyList(); >> // Добавление продукта в БД public void addProduct(Product product) < // Создадим подготовленное выражение, чтобы избежать SQL-инъекций try (PreparedStatement statement = this.connection.prepareStatement( "INSERT INTO Products(`good`, `price`, `category_name`) " + "VALUES(?, ?, ?)")) < statement.setObject(1, product.good); statement.setObject(2, product.price); statement.setObject(3, product.category_name); // Выполняем запрос statement.execute(); >catch (SQLException e) < e.printStackTrace(); >> // Удаление продукта по id public void deleteProduct(int id) < try (PreparedStatement statement = this.connection.prepareStatement( "DELETE FROM Products WHERE < statement.setObject(1, id); // Выполняем запрос statement.execute(); >catch (SQLException e) < e.printStackTrace(); >> >

Напишем основной класс Main , в котором будут вызываться все наши методы:

import java.sql.SQLException; import java.util.List; public class Main < public static void main(String[] args) < try < // Создаем экземпляр по работе с БД DbHandler dbHandler = DbHandler.getInstance(); // Добавляем запись //dbHandler.addProduct(new Product("Музей", 200, "Развлечения")); // Получаем все записи и выводим их на консоль Listproducts = dbHandler.getAllProducts(); for (Product product : products) < System.out.println(product.toString()); >// Удаление записи с //dbHandler.deleteProduct(8); > catch (SQLException e) < e.printStackTrace(); >> >

В данном примере мы рассмотрели как работать с базой данных в Java на примере SQLite. Рассмотрели операции: выборка данных, добавление и удаление данных. Операцию по обновлению данных оставляю в качестве домашнего задания. В следующих статьях я покажу вам, как работать с графическим интерфейсом (используя Swing ) на примере создания игры крестики-нолики. Консольный вариант игры мы уже сделали, теперь сделаем — графический. Также вы можете выполнить все эти манипуляции с базой данных, используя графический интерфейс.

Читайте также:  Jquery html element this

На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.

Источник

SQLite Java

This SQLite Java section teaches you step by step how to interact with SQLite using Java JDBC API.

There are some interfaces that you can use to interact with SQLite using the Java language. Some of these are the native C API wrapper while the other implement the standardized Java Database Connectivity (JDBC) API.

In this section, we will introduce you to a modern JDBC driver which is called SQLiteJDBC package. The SQLiteJDBC package contains both Java classes, as well as native SQLite libraries for Windows, Mac OS X, and Linux.

SQLite Java

  • Connecting to an SQLite database: this tutorial shows you how to download SQLiteJDBC driver and connect to an existing SQLite database using JDBC.
  • Creating a new SQLite database – in this tutorial, we will show you how to create a new SQLite database from a Java program using SQLiteJDBC driver.
  • Creating a new table using JDBC – before working with data, you need to create a table. This tutorial shows you how to create a new table in an SQLite database from a Java program.
  • Inserting data into a table from a Java program – this tutorial walks you through the steps for inserting data into a table from a Java program
  • Querying data from a table with or without parameters – after having the data in the table, we show you how to query data using a SELECT statement. You will learn how to issue a simple SELECT statement to query all rows from a table, as well as use a query with parameters to select data based on user’s input.
  • Updating existing data using PreparedStatement object – this tutorial guides you how to update existing data in a table.
  • Deleting data from a table – this tutorial provides the steps for deleting existing data in a table.
  • Managing transaction – this tutorial shows you how to manage SQLite transaction using Java JDBC API such as setAutoCommit , commit , and rollback .
  • Writing and Reading SQLite BLOB – we will show you how to update the SQLite BLOB data into a table and query BLOB data for displaying.

Getting Started

Источник

Оцените статью