我是新手,我正在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
,并让字符串包含图像文件的文件名。在这种情况下,数据库将不包含图像的实际二进制数据,而仅包含其文件名。