Попытка создать объект Blob для файла (txt) для вставки в базу данных

Я должен выполнить некоторые из следующих шагов: был бы рад узнать, где я ошибаюсь 1 . создать ссылку Blob в классе домена (представляет загруженный файл

java.sql.Blob userfile;//blob reference
  1. в контроллере создание объекта большого двоичного объекта с использованием SerialBlob в контроллере.

    (fullref).userfile =new SerialBlob( [ я не знаю, что здесь передать ] );

  2. затем я хочу вызвать метод setBinaryStream для объекта blob, и возвращаемый поток вывода должен быть отправлен для сохранения в БД.

Пожалуйста помоги !! Спасибо вам всем заранее.


person Rajeev A N    schedule 02.04.2012    source источник
comment
Для текстового файла вам нужен Clob (Большой символьный объект), а не Blob (Большой двоичный объект).   -  person adarshr    schedule 02.04.2012


Ответы (1)


Вам не нужно использовать java.sql.Blob, вы можете просто использовать массив байтов.

Тип сопоставленного поля зависит от вашего ограничения maxSize.

class ExampleDomain {
    ...
    byte[] userfile

    static constraints = {
        ...
        userfile maxSize: 10000000
    }
}

В приведенном выше примере создается поле типа mediumblob в MySQL.

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

Теперь вы можете создать экземпляр ExampleDomain следующим образом:

def example = new ExampleDomain(userfile: yourFile.bytes,....)    
person aiolos    schedule 02.04.2012