当前位置: 首页 > news >正文

保定模板建站软件建设工程有限公司网站

保定模板建站软件,建设工程有限公司网站,青岛商城网站建设,那个网站可以做恒指 买涨买跌LOB是所有数据库以及JDBC中的PITA。 正确处理它们需要花费几行代码#xff0c;并且可以确保最终会出错。 因为您必须考虑以下几点#xff1a; 首先#xff0c;LOB是繁重的资源#xff0c;需要特殊的生命周期管理。 分配LOB后#xff0c;最好“释放”它#xff0c;以减轻… LOB是所有数据库以及JDBC中的PITA。 正确处理它们需要花费几行代码并且可以确保最终会出错。 因为您必须考虑以下几点 首先LOB是繁重的资源需要特殊的生命周期管理。 分配LOB后最好“释放”它以减轻GC的压力。 本文详细介绍了为什么需要释放吊球 分配和释放吊球的时间至关重要。 它的寿命可能比ResultSet PreparedStatement或Connection / Transactions中的任何一个都更长。 每个数据库都单独管理这样的生命周期在极端情况下您可能必须阅读规格 对于中小型LOB您可以使用String而不是Clob或byte[]代替Blob 但这并非总是如此甚至可能会导致一些令人讨厌的错误例如Oracle可怕的ORA-01461可以绑定LONG值仅用于插入LONG列 因此如果您正在使用JDBC进行低级工作而不是通过Hibernate或jOOQ来抽象JDBC则最好编写一个小工具来妥善处理LOB。 最近我们至少在某些数据库中重新发现了我们用于jOOQ集成测试的实用程序并认为这对于直接使用JDBC的一些读者可能非常有用。 考虑以下类别 public class LOB implements AutoCloseable {private final Connection connection;private final ListBlob blobs;private final ListClob clobs;public LOB(Connection connection) {this.connection connection;this.blobs new ArrayList();this.clobs new ArrayList();}public final Blob blob(byte[] bytes) throws SQLException {Blob blob;// You may write more robust dialect // detection hereif (connection.getMetaData().getDatabaseProductName().toLowerCase().contains(oracle)) {blob BLOB.createTemporary(connection, false, BLOB.DURATION_SESSION);}else {blob connection.createBlob();}blob.setBytes(1, bytes);blobs.add(blob);return blob;}public final Clob clob(String string) throws SQLException {Clob clob;if (connection.getMetaData().getDatabaseProductName().toLowerCase().contains(oracle)) {clob CLOB.createTemporary(connection, false, CLOB.DURATION_SESSION);}else {clob connection.createClob();}clob.setString(1, string);clobs.add(clob);return clob;}Overridepublic final void close() throws Exception {blobs.forEach(JDBCUtils::safeFree);clobs.forEach(JDBCUtils::safeFree);} } 这个简单的类有一些不错的款待 它是AutoCloseable 因此您可以使用try-with-resources语句释放您的吊球 它抽象了跨SQL方言创建LOB的过程。 无需记住Oracle的方式 要使用此类只需编写如下内容 try (LOB lob new LOB(connection);PreparedStatement stmt connection.prepareStatement(insert into lobs (id, lob) values (?, ?)) ) {stmt.setInt(1, 1);stmt.setClob(2, lob.clob(abc));stmt.executeUpdate(); } 而已 不需要保留对lob的引用如果它不为null则可以安全地释放它可以从异常中正确恢复等等。只需将LOB容器与PreparedStatement一起放入try-with-resources语句中即可。 如果您对为什么必须首先调用Clob.free()或Blob.free() 请阅读有关它的文章 。 它将为您OutOfMemoryErrors一两个OutOfMemoryErrors 翻译自: https://www.javacodegeeks.com/2015/04/lets-review-how-to-insert-clob-or-blob-via-jdbc.html
http://www.sadfv.cn/news/306664/

相关文章:

  • 海南网站建设制作建设公司logo
  • 一个wordpress模版几个网站河南省干部任免最新公示
  • html 做网站案例简单个人简历表格
  • 南通网站建设 南大街美食网页设计作品
  • 企业网站建设合同方案根据一个网站仿做新网站是什么网站
  • 佛山网站建设设计东莞厚街家具
  • 中国建设银行租赁网站网站例子大全
  • 网站建设与维护面试h5微场景制作软件
  • 建设微信网站做电气设计有哪些好的网站
  • 素材模板网站国内建网站软件
  • 多语种网站建设淘大象关键词排名查询
  • 福鼎建设局网站地方网站名称
  • 市场调研数据网站wordpress 分页
  • 深圳给企业做网站中国民营企业500强榜单
  • 域联网站建设做网站 网络映射
  • 网站开发违法redis wordpress 提速
  • 公司的服务器能建设网站吗友情贴吧
  • 做pc端网站公司WordPress 5.2.1
  • 密云微网站建设中国建设银行官网首页 网站首页
  • 公司网站实名认证怎么自己制作公众号
  • 金坛建设局招标网站无锡网站制作的公司
  • 网站服务器打不开网页设计感悟与体会
  • 如何才能做好品牌网站建设策划网站开发九大优势
  • 网站备案的影布怎么做找工程包工平台app
  • 学做热干面网站天津网站开发招聘
  • 最好的模板网站缩短链接网站
  • 网站改版规则龙岩公司注册
  • 俄文网站建设方案网页实时翻译
  • 个人设计网站论文摘要淮北论坛人才招聘网
  • 扮家家室内设计网青岛网站制作seo