Как хранить данные на Java? База данных?

Я пишу приложение, которое я хочу хранить, извлекать, сортировать и искать. Я использую Java, и у меня есть GUI, и некоторые функции уже написаны, но я не знаю, как хранить данные на Java. Я немного поработал с SQLite, когда писал приложение для своего телефона Android и искал что-то вроде этого.

Мне нужно хранить информацию, связанную друг с другом, например, думать о адресной книге. Имя, адрес, номер телефона, адрес электронной почты и т.д. Будут связаны друг с другом и собираются вместе для одной записи в адресной книге. Точно так же мне нужно хранить большой объем данных таким образом и иметь возможность искать его для необходимых данных. Я также хотел бы получить данные таким образом, чтобы получить значение адреса для "name".

Мне нужно знать самый простой способ сделать это. После googleing я нашел информацию о Java DB, но я не знаю, является ли это именно то, что я ищу или как его использовать.

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

--------------------------------------- EDIT ------- -------------------------------------

Я ценю Помощь, но я все еще не понимаю ее. Я хочу использовать SQLite, и я следил за ссылкой, которую дал Кристиан Антонсен, и я загрузил вещь SQLiteJDBC, но теперь я потерялся. Я явно нахожусь на новой территории здесь и полностью потерял.

Может ли кто-нибудь дать мне "руководство для идиотов" о том, как использовать это и заставить его работать в моем приложении?

Ответ 2

Очень простая и простая в использовании база данных, которую вы можете использовать, - db4o. Хорошая вещь о db4o заключается в том, что вы можете хранить простые старые объекты Java в своей базе данных! Нет необходимости сопоставлять их с таблицами и обратно!

В качестве альтернативы, если вы хотите использовать язык SQL (аналогично SQLite), вы можете использовать H2DB. JavaDB, также является еще одним вариантом. Оба варианта H2DB и JavaDB могут использоваться как встроенные базы данных и распространяться вместе с вашим приложением.

Если вы решили использовать SQL, вам необходимо изучить JDBC (Java Database Connectivity). Он позволяет вам связываться с базой данных SQL по вашему выбору. Если JDBC казался слишком ровным для вашего вкуса, вы можете узнать JPA (Java Persistence API).

Тем не менее, IMHO, если не доказано обратное, db4o кажется лучшим вариантом для вашего случая использования и ситуации, на мой взгляд.

Ответ 3

Чтобы использовать SQLite, попробуйте выполнить следующее обсуждение: Java и SQLite


Старая версия (я считаю, что она по-прежнему сохраняется):

Самый простой способ: сериализовать свой объект данных при выходе, де-сериализовать его при запуске. Для примера приложения, прототипа или быстрого теста он творит чудеса и не требует много кодирования.

Для downvoters: да, я использую этот подход каждый раз, когда мне нужно что-то начинать. Мне не нужно беспокоиться о деталях, и я знаю, что позже смогу изменить свой уровень персистентности. Это помогает отложить важные решения для хранения, пока я не знаю, какие данные у меня есть.

Менее простой способ связан с базой данных, но для этого необходим правильный дизайн данных - если вы его не разделяете, трудно рекомендовать что-либо конкретное. Разумным выбором могут быть SQLite, mySQL, MongoDB или почти любая другая база данных. То, что лучше подходит в вашем случае, трудно сказать.

Ответ 4

Я хотел бы поддержать Кристиана Антонсена в его комментарии, потому что HashMaps - лучший способ хранения данных на Java. Если вы хотите сохранить данные в алфавитном порядке, TreeMap является более удобным способом.

Ответ 5

Помимо того, что уже упоминал Кристиан Антонсен, я должен упомянуть Hibernate. Я только недавно взял его, просмотрев серию видеороликов YouTube, таких как этот плейлист

Из того, что я собрал, это лучшее решение, построенное поверх JDBC (что может быть утомительным).

Я предлагаю вам принять решение, основанное на том, что нужно вашему проекту, и времени, которое у вас есть.

Ответ 6

Вы можете использовать Apache Derby (Java DB) как собственный DB, встроенный в JDK. Краткое руководство можно найти здесь:

https://netbeans.org/kb/docs/ide/java-db.html

Ответ 7

Привет Существует база данных HSQL. (http://hsqldb.org/) Это java baseed файловая система для хранения в виде данных в виде таблиц. Вы также можете использовать это с hibernate