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

时间:2018-11-28 12:58:26

标签: java json rest spring-boot

我创建了一个实体。我想编写一个RestController在MySQL中保存该实体和图像。我使用Java8,SpringBoot,Hibernate,Rest API,JSON。 我该怎么做?我可以一起保存吗?

var PostData= { prefix: $('#DDlSurvey').val() }
var ajaxOptions = {
        type: "GET",
        url: '@Url.Action("GetSelectedQuestion", "ConductSurvey")',//Actionname, ControllerName
        data: PostData,
        dataType: "json",
        success: function (result) {
            console.log(result);
        },
        error: function (result) {

        }
};
$.ajax(ajaxOptions);

控制器

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;
}

2 个答案:

答案 0 :(得分:0)

由于您正在使用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;
}

答案 1 :(得分:0)

您可以使用JPA / Hibernate来实现。

  1. 创建一个存储库接口,以扩展CrudRepository或JpaRepository。
  2. 自动连接存储库接口的实例
  3. 通过调用存储库接口的save()方法在数据库中保存/存储实体。

请参阅以下有关如何使用JPA / Hibernate的文章:https://spring.io/blog/2011/02/10/getting-started-with-spring-data-jpa/