有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java用实体在数据库中保存图像

我创造了一个实体。我想写一个RestController在MySQL中保存这个实体和一个图像。我使用Java8、SpringBoot、Hibernate、restapi、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;
    }

共 (1) 个答案

  1. # 1 楼答案

    由于您使用的是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;
    }