我正在使用JSF2.0创建Web应用程序,其中在mysql中,我使用的数据类型为存储图像MEDIUMBLOB
。
要插入值,我正在使用PreparedStatement,如下所示。
PreparedStatement psmnt = con.prepareStatement("INSERT INTO sketchesSG002003 (userid, imageTitle, imageData, drawingComments) VALUES (?,?,?,?)");
psmnt.setLong(1, personalInfoId);
psmnt.setString(2, sketchesSG002003Title);
try {
String fileName = FilenameUtils.getName(sketchesSG002003ImageUpload.getName());
File image = new File(fileName);
InputStream fis = sketchesSG002003ImageUpload.getInputStream();
psmnt.setBinaryStream(3, fis, (int) sketchesSG002003ImageUpload.getSize());
} catch (Exception e) {
psmnt.setBinaryStream(3, null);
}
psmnt.setString(4, sketchesSG002003Comments);
i = psmnt.executeUpdate();
但是我收到错误消息
java.lang.AbstractMethodError: com.mysql.jdbc.PreparedStatement.setBinaryStream(ILjava/io/InputStream;)V
Stacktrace的某些部分是
javax.faces.el.EvaluationException: java.lang.AbstractMethodError: com.mysql.jdbc.PreparedStatement.setBinaryStream(ILjava/io/InputStream;)V
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
我相信以上错误仅供参考 psmnt.setBinaryStream(3, null);
我的问题是如何将二进制数据设置为Null或Nothing?
这些天出了什么问题?我问了问题后就得到了解决方案:(
psmnt.setNull(3, java.sql.Types.BLOB);
做到了。
我正在使用mapstruct,我想知道是否有任何方法可以为某些目标属性设置空值。例如 我希望上面的源代码、dto和mapper能够生成下面的源代码,
祝大家日安。 如何改变桌面的背景颜色时,聚焦?
我在实体类中使用Spring Boot和Hibernate JPA,代码如下:, 其中生成了一个集合表user\u files。但是,默认的列类型是VARCHAR(255),有时用户数据可能比这更长。我的问题是如何定义此表以将BLOB或TEXT用于列?我试图在那里直接插入Lob注释,但没有成功。
问题内容: 使用Zend_Db执行UPDATE和INSERT查询时,我经常需要设置等于NULL的值(不是”)。但是,Zend_Db :: insert()和Zend_Db :: update()的默认行为似乎是将空值转换为空字符串(’‘)并照此放入数据库。 有谁知道如果php中的值为空,则实际上强制将NULL值放入字段的方法吗? 问题答案: 尝试将受影响的字段设置为:
我想在纯JS或jQuery上设置一个atribute onchange值。 元素名称: 我试过了 选择在div中,id=“butterbean-control-autofilling”,所以我可以使用吗?
编辑2: 似乎调用实际上是在取消数据库中的字段!但是,调用并没有像预期的那样用空字段刷新POJO。我在之后验证了lastName的为null,但是调用没有使该值为null。