Установите относительный путь, используя jdbc, на sqlite DB на компьютере пользователя - PullRequest
1 голос
/ 21 мая 2019

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

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

, поэтому я прочиталНемного и нашел этот учебник по SQLite - http://www.sqlitetutorial.net/sqlite-java/sqlite-jdbc-driver/

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

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

вот мой код:

public class Main {

    public static void main(String[] args) {
        try{
            Connection conn = DriverManager.getConnection("jdbc:sqlite:C:\\Users\\Desktop\\School Project\\Software-Engineering---Java-Project\\data.db");
            Statement statement = conn.createStatement();

            //CREATE TABLES
            statement.execute("CREATE TABLE IF NOT EXISTS CUSTOMERS (name TEXT,phone INTEGER,email TEXT)");

            //INSERT TO TABLES
            statement.execute("INSERT INTO CUSTOMERS (name,phone,email)" +
                    "VALUES ('NETANEL', 05555555,'SADF@GMAIL')");

обратите внимание, как мой JDBC - это путь к моему локальному компьютеру, как я могу это изменить?

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

Я могу указать путь, ссылаясь только на имя БД:

final static String DB_URI = "jdbc:sqlite" + ":data.db";

    public static void main(String[] args) {
        try{
            Connection conn = DriverManager.getConnection(DB_URI);
            Statement statement = conn.createStatement();

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

1 Ответ

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

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

Примерно так:

String dbUri = "jdbc:sqlite:" + System.getProperty("user.home") + "/data.db";
Connection conn = DriverManager.getConnection(dbUri);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...