插入第三个参数调用的是setBinaryStream(),这个方法是向数据库写入数据流,方法有三个参数
int parameterIndex - 参数序号
InputStream x - 二进制流
int length - 流中的字节数
更详细的说明可以参考oracle官方帮助文档:
http://docs.oracle.com/javase/8/docs/api/
byte[] b = new byte[(int)pic.length()];
这里这个字节数组就像注释中说的,它是保存图片的字节数组,或者说它是数据流读取图片时使用的缓冲数组。当调用数据流的读取方法时,将这个数组作为参数,就像代码中写的:
fs.read(b);
就是将图片文件以字节的形式保存到字节数组中,运行完这个方法之后,fs这个数据流中就有数据了,数据就是b这个字节数组。