Как я должен реализовать БД в моем Java-приложении локально - PullRequest
0 голосов
/ 21 мая 2019

Я пытаюсь создать простое Java-приложение для своего школьного проекта и хочу иметь возможность использовать простую БД, чтобы вставлять, обновлять, удалять и задавать запросы в моей БД.

Мне нужно, чтобы мое приложение работало везде при установке, поэтому я хочу использовать локальную БД, которая поставляется вместе с моим приложением и будет доступна изнутри проекта, без разных зависимостей БД

, что будет лучшим способомреализовать локальную БД?

Я думал об использовании JDBC для файлов .csv, что является большой работой (?) или с использованием HSQLDB, и создании встроенной БД?

как бы выреализовать это?

РЕДАКТИРОВАТЬ:

хорошо отлично, поэтому я немного прочитал и нашел этот учебник по SQLite ,

public class Main {

    public static void main(String[] args) {
        try{
            Connection conn = DriverManager.getConnection("jdbc:sqlite: (how to set this path?)");
            Statement statement = conn.createStatement();
            statement.execute("CREATE TABLE CUSTOMERS (name TEXT,phone INTEGER,email TEXT)");


        } catch(SQLException el){
            System.out.println("somting went wrong" + el.getMessage());
        }
    }

}

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

o connect to an in-memory database, you use the following connection string:
jdbc:sqLite::memory

поэтому, после установки первого соединения, на моем конце будет инициализирована БД, а затем я должен использовать путь к памяти при развертывании проекта?

Ответы [ 2 ]

1 голос
/ 21 мая 2019

JDBC - это простой интерфейс, который позволяет подключаться к встроенной базе данных Java. С HSQLDB у вас есть возможность использовать файлы CSV для хранения данных, а также файл сценария в формате SQL или файл двоичных данных.

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

1 голос
/ 21 мая 2019

Если вы готовы принять JDBC в качестве вашего API, используйте настоящую встроенную базу данных: hsqldb или h2 (или derby). Это будет намного проще, чем упаковка файлов CSV.

Я бы использовал H2, так как он может работать в гибридном встроенном / серверном режиме, который позволит вам запускать ваше приложение во встроенном режиме, одновременно - используя какой-то внешний инструмент (eclipse / intellij / netbeans / что-то еще). ) проверить вашу базу данных.

Если вы можете продолжить обучение, используйте h2 + JPA (например, eclipselink), это - наряду с автоматическим генерированием схемы - упростит развертывание (вам не нужно будет писать / поддерживать / запускать DDL).

...