![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Andyb |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 7.6.2004 Где: Lille, France Репутация: 4 Всего: 5 |
народ help нужно записать java Object в БД MSSQL
возможно ли такое? если да то плиз киньте примерчик ![]() Добавлено @ 19:38 очень нада --------------------
Большинство наших ошибок происходит из-за невнимательности. |
|||
|
||||
maximb |
|
|||
![]() Новичок Профиль Группа: Awaiting Authorisation Сообщений: 48 Регистрация: 23.5.2005 Где: Украина, г.Симфер ополь Репутация: 4 Всего: 6 |
Здесь возможно два варианта:
1. Сериализовать объект и сохранить в базу как BLOB (не очень хороший вариант, но иногда может быть полезен) 2. Мапить объект в базу. Можно напрямую через JDBC (но много руками придется поработать). Можно использоваеть фреймворк, например iBatis или Hibernate Если поискать по форуму, то можно найти примеры как это делается. Также есть Google. |
|||
|
||||
Andyb |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 7.6.2004 Где: Lille, France Репутация: 4 Всего: 5 |
а можно поподробнее про BLOB?
![]() --------------------
Большинство наших ошибок происходит из-за невнимательности. |
|||
|
||||
maximb |
|
|||
![]() Новичок Профиль Группа: Awaiting Authorisation Сообщений: 48 Регистрация: 23.5.2005 Где: Украина, г.Симфер ополь Репутация: 4 Всего: 6 |
||||
|
||||
Andyb |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 7.6.2004 Где: Lille, France Репутация: 4 Всего: 5 |
так это понятно, мне непонятен процесс как мне допустим объект javax.mail.Message
записать в базу (очень буду рад фрагменту кода ![]() Это сообщение отредактировал(а) Andyb - 22.12.2005, 20:06 --------------------
Большинство наших ошибок происходит из-за невнимательности. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Вот пример сериализации. Тебе надо будет вместо файла использовать поток blob-а.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Andyb |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 7.6.2004 Где: Lille, France Репутация: 4 Всего: 5 |
объект :
здесь метод сохраняющий в базу:
как мне сделать правильно? ![]() --------------------
Большинство наших ошибок происходит из-за невнимательности. |
||||
|
|||||
LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Тут есть 2 варианта (какой будет работать у тебя не знаю, т.к. они обы привязанны к драйверу и СУБД)
1. Пишем в ByteArrayOutputStream
но тут можно нарваться на то что объекты больше n байт не пишутся (в Oracle при определенных условиях такое бывало). 2. Создаем blob, получем у него поток и пишем в него. Но как создавать blob зависит от СУБД. Для Oracle так:
для MS SQL Server смотри его документацию. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
Andyb |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 7.6.2004 Где: Lille, France Репутация: 4 Всего: 5 |
Большое спасибо LSD
![]() У Вас недостаточно постов, чтобы изменять репутацию пользователей. Необходимо 100 постов. " а жаль я бы добавил Это сообщение отредактировал(а) Andyb - 23.12.2005, 08:33 --------------------
Большинство наших ошибок происходит из-за невнимательности. |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Модераторы с удовольствием идут навстречу пожеланиям трудящихся, и делают это от вашего имени ![]() -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Да пожалуйта. Да, забыл добавить второй вариант требует меньше памяти, но надо следить за освобождением ресурсов (временные blob надо обязательно потом "освобождать, иначе может замусориваться табличное пространство). -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Hidrag |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 877 Регистрация: 9.4.2005 Где: JDK Репутация: 3 Всего: 25 |
а кто нибудь в курсе как блоб для MySQL оформить? Нужно записать в блоб обьект java.awt.Image, ну или сразу из файла, затем нужно прочитать из базы и нарисовать скажем в label
-------------------- ![]() |
|||
|
||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
как понять "оформить"? MySQL BLOB поля поддерживает, нужно просто создать соответствующую колонку.
5-ю постами выше LSD привел способ записи объекта в БД. Все сводится к созданию необходимых потоков и отправки/получения данных в/из них. Картинки кстати удобно в поток писать с помошью ImageIO. ![]() |
|||
|
||||
Hidrag |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 877 Регистрация: 9.4.2005 Где: JDK Репутация: 3 Всего: 25 |
вот эту строку
для мускула как записать? есть класс com.mysql.jdbc.blob но у него нет методов. еще пытался так: есть
ругается так: java.io.NotSerializableException: java.awt.image.BufferedImage коннект к базе и статемент есстесно прописаны -------------------- ![]() |
||||
|
|||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
Вот рабочий пример:
таблица test имеет 2 поля: test_id - Integer (счетчик) и image - BLOB. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |