我是新手,我正在JavaTPoint网站上独自学习所有内容,而我已经在http://www.javatpoint.com/registration-form-in-jsp上进行过此主题的学习。

我现在想做的是代替User,将Car添加到我的数据库中,我了解了所有内容,但是只有一件事我不了解,Image的数据类型。我试图用谷歌的解决方案,但令人困惑。我将展示部分代码,重点是Image,这是我执行Get-Set部分的Java类。

谁能帮我将这个图像文件放入哪种数据类型,以便可以将其放入我的CarDao(我正在关注的教程的RegisterDao)中,以便将其设置为

-> ps.setWhatDataType(9,c.getcarImage());
正如我在某些示例中经常看到的那样,我在MySQL中将此图像声明为longblob。

public class Car {

private WhatDataType carImage;

public WhatDataType getcarImage() {
    return carImage;
}

public void setcarImage(WhatDataType carImage) {
    this.carImage = carImage;
}

最佳答案

您尝试做的事情很棘手。将图像作为二进制字段存储在数据库中应该是小菜一碟,但实际上并非如此。二进制字段通常映射为byte[]类型,但棘手的部分是将图像转换为byte[]以便将其存储到数据库中,然后从byte[]转换回image以便显示图像。如果您真的想这样做,我无能为力,因为这实际上取决于您要处理的图像类型。

如果您的分配实际上不会涉及图像,而您只想实现该接口,那么byte[]应该可以。

实用且容易的另一种方法是只使用String,并让字符串包含图像文件的文件名。在这种情况下,数据库将不包含图像的实际二进制数据,而仅包含其文件名。

10-07 16:15
查看更多