Добавление объектов Java в базу данных


3

Для присвоения университета мне присвоен У меня есть объект Prize, который содержит текст, изображение или видеоконтент. Я хотел бы сохранить эту информацию в поле BLOB в базе данных Apache Derby (которая будет работать на КПК с низким КПД). Как я могу добавить эти данные в базу данных?

Заранее спасибо.

6

В этой статье Five Steps to Managing Unstructured Data with Derby вы можете прочитать, как это сделать.

В нем описано, как вставить двоичные данные в столбец с типом BLOB-данных в Apache Derby, используя JDBC.


3

Я предполагаю, что вы будете подключаться через JDBC. Если это так, просто напишите свой SQL и посмотрите на метод setBlob для PreparedStatement. Должно быть довольно просто.


1

Если вы используете Netbeans (я предполагаю, что Eclipse имеет аналогичную функциональность), вы можете настроить схему базы данных и создать новые классы сущностей Java из базы данных, и она создаст для вас соответствующие классы JPA.

http://hendrosteven.wordpress.com/2008/03/06/simple-jpa-application-with-netbeans/

Это хорошо, поскольку это позволяет сосредоточиться на коде, а не код клея базы данных.


2

Serialization это простой способ сделать это, однако, если возможно, вы могли бы сделать его похожим на реальный таблицы базы данных со структурой, содержащей id (bigint), datatype (smallint), creationdate (date) и data (blob) и, в частности сделать клиентский код для сохранения данных объекта там. Таким образом, вы могли бы выполнять поиск, например "get all video prizes created between January 1st 2008 and January 15th 2009", и он не разбивал бы старые данные, если бы ваш класс слишком сильно изменился, чтобы сериализация перестала работать.

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


0

Лучшее решение - использовать Derby, потому что он остается мультиплатформенным приложением, разработанным через Java.