Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 16.11.2019
Сообщений: 20

Компиляция (обычное приложение и с БД)

13.02.2020, 17:26. Показов 1113. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Только-только начинаю копать JAVA, возник вопрос.
Использую Netbeans. Написал простую программку, а-ля "Hello, World". Соответственно при запуске её в IDE, она компилируется и в папке с проектом, в папке /src имеем файл myprog.java
Ну, её в дальнейшем можем переносить и запускать. С этим вроде понятно (или нет?).
Если я буду создавать не один класс, а несколько, то итоговых файлов будет всё равно один (по идее несколько же)? Что тогда можно и нужно переносить? Понятно, что запускается тот .java, где объявлен класс main. А остальные классы будут в этой же папке, они же тоже нужны для работы программы.

Сумбурно написал, но, очень надеюсь на понимание.
Собственно второй вопрос, который более важен для меня.
Хочу подключить базу данных. Зарегистрировал драйвер, создал БД, создал таблицу. Ну и т.д.
Итог какой после компиляции? Что можно и НУЖНО скопировать на флешку, например, чтобы перенести на другой компьютер, там запустить, чтобы всё работало?

P.S. В незапамятные времена писал на Delphi, в том числе и с БД. Там немного проще было. Создаешь установочный комплект, в нем есть всё. При установке приложения всё работает. Здесь, в JAVA, пока блужусь конкретно. Что и где лежит, что можно переносить, что нужно запускать

Спасибо за понимание!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.02.2020, 17:26
Ответы с готовыми решениями:

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

1с 8.2 Обычное приложение (интерфейс)
Можно ли как-то в командную панель формы добавить Калькулятор 1С-вский встроенный? Форма открыта модально, поэтому вызов по Ctrl-F2 не...

Обычное графическое приложение виндовс
Если я правильно понимаю, то нужно при создании проекта выбрать "Классическое приложение виндовс", но при этом у меня выдало, что не...

16
Модератор
Эксперт Java
 Аватар для alecss131
2850 / 1358 / 405
Регистрация: 11.08.2017
Сообщений: 4,332
Записей в блоге: 2
13.02.2020, 17:51
По первому вопросу достаточно загуглить всего 6 букв, 2 слова. jar и jre. Поизучай что это. Второй вопрос уже сложнее. Вообще бд это сервер и почти все бд требуют установки в систему. Вроде есть и портативные, которые достаточно подключить в виде библиотеки. Сразу советую узнать что такое maven и сборка проекта с зависимостями. Класс файлы никто не использует для запуска.
1
0 / 0 / 0
Регистрация: 16.11.2019
Сообщений: 20
13.02.2020, 23:34  [ТС]
да, действительно, я ступил. Конечно, .jar запускаются

а вот с БД какая-то засада получается. Как же мне его потом с linux машины переносить на Windows?
0
0 / 0 / 0
Регистрация: 16.11.2019
Сообщений: 20
14.02.2020, 15:12  [ТС]
а если делать через Maven, то изначально в Netbeans выбирать проект Maven -> Приложение Java
или можно Java -> Приложение Java
0
Модератор
Эксперт Java
 Аватар для alecss131
2850 / 1358 / 405
Регистрация: 11.08.2017
Сообщений: 4,332
Записей в блоге: 2
14.02.2020, 15:23
RayEagle, Лучше первый вариант, а про бд посмотрите в сторону h2, можно использовать без установки в систему, просто подключить как библиотеку.
0
 Аватар для Aviz__
2738 / 2047 / 507
Регистрация: 17.02.2014
Сообщений: 9,465
14.02.2020, 15:35
RayEagle, вот, я давал недавно ссылку, как это делать с MySQL Студенческая база прям очень все разжевано.
0
0 / 0 / 0
Регистрация: 16.11.2019
Сообщений: 20
15.02.2020, 00:17  [ТС]
вопрос почти сюда же
подключение к БД в самой программе выглядеть должно примерно так:
Java
1
2
public static final String DB_URL = "jdbc:h2:/c:/JavaPrj/SQLDemo/db/stockExchange";
public static final String DB_Driver = "org.h2.Driver";
как прописать относительный путь к БД. Или Maven сможет помочь потом при сборке для переноса?
0
Модератор
Эксперт Java
 Аватар для alecss131
2850 / 1358 / 405
Регистрация: 11.08.2017
Сообщений: 4,332
Записей в блоге: 2
15.02.2020, 09:55
В новых версиях вроде можно не регистрировать драйвер, но почемуто все гайды продолжают это делать. Я регистририую драйвер немного иначе, стандартный способ имхо слишком много исключений кидает, можно вот так сделать DriverManager.registerDriver(new Driver()); предварительно импортировав сам драйвер строчкой import org.h2.Driver; а путь к базе можно прописать 3 видами, полный путь как у вас, относительный путь от рабочей папки программы jdbc:h2:./%имя% (база будет рядом с jar файлом с именем имя.h2.db) и еще можно так jdbc:h2:~/%имя% вот тут не смог найти где хранится, еще базу можно хранить в памяти, но база будет удаляться при закрытии программы, как то так jdbc:h2:mem:%имя%
1
 Аватар для Goongala
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,027
Записей в блоге: 2
15.02.2020, 10:38
А исчо можно использовать hibernate
0
0 / 0 / 0
Регистрация: 16.11.2019
Сообщений: 20
15.02.2020, 13:28  [ТС]
если писать вот так: jdbc:h2:./%имя%
то база будет в корне домашней папки (я под Ubuntu сижу)

если писать вот так: jdbc:h2:~/%имя%
то база вообще в корень машины улетает, поэтому, наверное, Вы и не могли её найти

а я хотел, чтобы указывался относительный путь. Но, в java, похоже, в лоб так не получиться, т.к. файлы лежат по разным папкам и относительно какой считать система не знает.
Судя по всему, можно прописать абсолютный путь, а потом, при сборке Maven, пути поменяются на относительные
0
Модератор
Эксперт Java
 Аватар для alecss131
2850 / 1358 / 405
Регистрация: 11.08.2017
Сообщений: 4,332
Записей в блоге: 2
15.02.2020, 14:28
Цитата Сообщение от RayEagle Посмотреть сообщение
если писать вот так: jdbc:h2:./%имя%
то база будет в корне домашней папки (я под Ubuntu сижу)
Небольшое уточнение, смотря как запускать jar программу, там берется рабочая папка программы, в линуксе она по умолчанию домашняя папка, под виндой будет папка где находится сам jar (если запускать двойным кликом по jar)
попробуйте запустить jar из командной строки предварительно перейдя в папку с jar, база появится рядом
Цитата Сообщение от RayEagle Посмотреть сообщение
если писать вот так: jdbc:h2:~/%имя%
то база вообще в корень машины улетает, поэтому, наверное, Вы и не могли её найти
я проверял корни дисков и базы не нашел, по крайней мере под виндой

Добавлено через 56 секунд
На худой конец можно в программе получить расположение запускаемого файла и создать строку с адресом до подключения к бд
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
18.02.2020, 13:24
Цитата Сообщение от Goongala Посмотреть сообщение
А исчо можно использовать hibernate
причем тут хиб?
RayEagle, гуглите in memory databases
вот одна из первых ссылок
https://www.baeldung.com/java-in-memory-databases

Добавлено через 5 секунд
Цитата Сообщение от Goongala Посмотреть сообщение
А исчо можно использовать hibernate
причем тут хиб?
RayEagle, гуглите in memory databases
вот одна из первых ссылок
https://www.baeldung.com/java-in-memory-databases
0
 Аватар для Goongala
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,027
Записей в блоге: 2
18.02.2020, 17:36
neske, как эт причём? Через hibernate проще работать с бд, чем напрямую через JDBC
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
18.02.2020, 19:25
Goongala, просто как я понял рут коз тут был в выборе субд, а не в работе с ней, ну да ладно)
0
 Аватар для Goongala
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,027
Записей в блоге: 2
18.02.2020, 21:09
neske, а, ну, может быть и так. В который раз открываю эту тему, но так и не хватило сил полностью прочитать первый пост
0
 Аватар для Aviz__
2738 / 2047 / 507
Регистрация: 17.02.2014
Сообщений: 9,465
19.02.2020, 08:36
Цитата Сообщение от Goongala Посмотреть сообщение
не хватило сил полностью прочитать
т.е. ты осваиваешь новую форму восприятия текстов?!! контекстное))
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
24.02.2020, 12:42
Цитата Сообщение от RayEagle Посмотреть сообщение
~/%имя%
то база вообще в корень машины улетает
~/%имя% эквивалент /home/%имя%. Каким образом в корень? Ну только если у данного юзера home замапен на корень (в самой системе). Но это, если оно так, кончено, аберрация ещё та
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.02.2020, 12:42
Помогаю со студенческими работами здесь

1c 8.2 Обычное приложение. Уникальность форм
Всем привет. Мне необходимо запустить обработку из документа передав в нее параметры - с этим проблем нет. Затем мне нужно при...

Права доступа в бп 1.6 обычное приложение платформа 8.2
Чтобы войти в конфигурацию пользователю нужно назначить роли - обязательную бухгалтер или полные права, если их не задал пользователю, то в...

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

Скопировать не записанный документ. обычное приложение
Доброго времени суток, форумчане!) Задачка: есть документ (неважно какой) с двумя формами документа. одна с них основная. При создании...

Создание ВПФ под обычное приложение
Необходимо создать внешнюю печатную форму под обычное приложение. Искал в сети, но везде описывается только под управляемое приложение....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru