PreparedStatement的优势:
-
解决Statement的拼串、sql问题
-
可以操作Blob的数据
-
可以实现更高效的批量操作
例如:
//设置
FileInputStream is = new FileInputStream(new File("girl.jpg"));
ps.setBlob(2,is);
//获取,将Blob类型的字段下载下来,以文件的方式保存在本地
Blob photo = rs.getBlob("photo");
InputStream is = photo.getBinaryStream();
FileOutputStream fos =
byte[] buffer = new byte[1024];
int len;
while((len = is.read(buffer)) != -1){
fos.write(buffer,0,len);
}
如果在指定了相关的Blob类型以后,还报错:xxx too large,那么在mysql的安装目录下,找my.ini文件加上如下的配置参数:max_allowed_packet=16M。同时,