Сохранить изображение в БД с сущностью - PullRequest
0 голосов
/ 28 ноября 2018

Я создал сущность.Я хочу написать RestController, чтобы сохранить эту сущность и изображение в MySQL.Я использую Java8, SpringBoot, Hibernate, Rest API, JSON.Как мне это сделать?Можно ли сохранить это вместе?

public class Client{

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    private Long id;

    @Column(name = "firstName")
    private String firstName;

    @Column(name = "lastName")
    private String lastName;

    @Column(name = "photo")
    private String photo;
}

Контроллер

@PostMapping(value = "/save/client")
    public ResponseEntity saveClient(@RequestBody @Valid Client client){
        ResponseEntity responseEntity = new ResponseEntity<>(HttpStatus.NOT_FOUND);
        if(Objects.nonNull(client)){
            this.clientService.saveClient(client);
            responseEntity = new ResponseEntity<>(HttpStatus.OK);
        }
        return responseEntity;
    }

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Этого можно добиться с помощью JPA / Hibernate.

  1. Создайте интерфейс репозитория, который расширяет либо CrudRepository, либо JpaRepository.
  2. Автоматическое связывание экземпляра интерфейса репозитория
  3. Сохраните / сохраните сущность в базе данных, вызвав метод save () интерфейса репозитория.

Посмотрите следующую статью о том, как использовать JPA / Hibernate: https://spring.io/blog/2011/02/10/getting-started-with-spring-data-jpa/

0 голосов
/ 28 ноября 2018

Поскольку вы используете Hibernate, вы можете сделать что-то вроде этого ниже, дайте мне знать, если у вас есть какие-либо проблемы.

@Lob
@Column(name = "content")
private byte[] content;

@JsonSetter("content")
public void setContent(String content) {
  this.content = Base64.decode(content.getBytes("UTF-8"));
}

public byte[] getContent() {
  return content;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...