千家信息网

如何进行MySQL实施JDBC 2.0/3.0 的新特性实践

发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,这篇文章将为大家详细讲解有关如何进行MySQL实施JDBC 2.0/3.0 的新特性实践,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。昨天一天都没有调
千家信息网最后更新 2025年11月10日如何进行MySQL实施JDBC 2.0/3.0 的新特性实践

这篇文章将为大家详细讲解有关如何进行MySQL实施JDBC 2.0/3.0 的新特性实践,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

昨天一天都没有调试出上传图像到数据库中的程序,虽然查了CSDN,但所查资料都不好使。今天想起了几个关键点没有仔细的试到,主要是JDBC API新功能到底对MySql有没有作用,如果不行,为什么MySQL Driver包中的ResultSet类中有新的API方法?另外,upload包的几个类对添加图像到数据库中到底行不行。不管行还是不行,我得再仔细试一下。因昨天曾测试通过了JDBC API新的更新方法,所以计划今天先调试上传图像到数据库中程序,经过一小段时间的调试,终于通过,调用图像显示程序一试,图像出来了,试试jpg格式的图像,也成功了,真是大快人心。数据库保存图像功能调试成功为我调试JDBC API新的插入功能增加了信心,几经周折也成功了,为了记住这一过程,我想想还是写下来。

  原定目标:通过网络,把客户端的gif或jpg图像文件存到服务器端的MySQL数据库中。
  设计思路:做一个供客户使用的表单,客户通过该表单可查找客户端的图像文件,并提取该文件的文件名于表单输入框中。客户提交表单后,将激活服务器端的insertpic.jsp,通过insertpic.jsp保存图像文件的数据到数据库中。
  在实施过程中又遇到和攻克了新的难题:JDBC新的API插入、更新、删除指令如何使用;upload包如何使用,学习和演示了《Java Servlets编程指南》上提供的连接池,图像显示程序。
  具体编程思路、遇到的问题,小结:
  1、数据库表名:javadoc;保存图像数据的字段用Blob或MediumBlob或LongBlob类型的。
  建立数据表的SQL语句如下:

  SQL = "CREATE TABLE javadoc (" +
    "gid int(11) NOT NULL auto_increment," +
    "gheading varchar(100)," +
    "gimage longblob," +
    "PRIMARY KEY (gid))";

  2、表单上的查找并提取图像文件名的输入框用下面的语句实现:
    

图像


  3、表单的

要加入下面的属性和属性值:
    enctype="multipart/form-data"
  加入该属性后,该表单就不能再同时作为传输其他数据字段的表单了,如不能再传送串字段。
  4、启用upload包,内含File.class、Files.class、Request.class、SmartUpload.class、SmartUploadException.class,来协助保存图像,以降低开发难度。
  几个类的原代码见相关文件,File类公用方法已粘在相关的jsp文件中。
  5、JDBC新的API插入、更新、删除功能,具体步骤如下:
  插入一个记录的步骤:
    (1)准备一个空记录:MoveToInsertRow();
    (2)填入数据:updateXXX();
    (3)实施插入:insertRow();
  更新一个记录步骤:
    (1)定位记录:用absolute()或relative()等方法;
    (2)填入新值:updateXXX();
    (3)实施更新:updateRow();
  删除一个记录的步骤:
    (1)定位记录:用absolute()或relative()等方法;
    (2)实施删除:deleteRow();
  6、插入数据遇到的问题:我在保存图像的表中设计了一个自动增量的gid字段,并定义为NOT NULL。在通常用SQL语句插入新值的情况下,可以忽略对该字段插值,数据库会自动赋值。但在使用JDBC API插入记录的过程中发现,对该字段不能不管,必须调用rs.updateLong("gid" ..)赋值,否则系统会出现异常。我也想到并试过申请一个不包含该字段的游标,然后对该游标执行上面的几个插入记录的步骤,但也出现异常。另外,我的表中还有一个gheading的字段,该字段缺省值没定义,建立一个不包含该字段的游标然后执行插入新记录的操作是可以通过的,即执行插入操作对gheading这类字段可以忽略不用管它。由此我推断,只要是被说明为NOT NULL的字段,你在使用JDBC新的API进行插入记录编程时不能忽略它,必须要显式的赋值,否则系统会出现异常。
  7、对自动增量的字段在进行插入记录编程时如何为其赋新值?
  我的方案是这样:
  (1)使用select * form tablename order by gid 申请游标,其中gid为自动增量并不能为NULL的字段,为了简单,假设该游标不会为空;
  (2)对游标last()一下,到游标的底部;
  (3)取gid字段的值赋给一个临时变量mid;
  (4)mid++;
  (5)对gid字段实行 updateLong("gid",mid);
  ...
  8、对自动增量的字段插入记录编程按上述步骤赋新值还要考虑的问题?
  我认为要考虑为记录上锁,否则仍有出现异常的潜在问题。

关于如何进行MySQL实施JDBC 2.0/3.0 的新特性实践就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

字段 图像 数据 数据库 文件 表单 游标 步骤 客户 方法 更新 编程 增量 程序 端的 问题 不行 成功 功能 属性 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全红蓝对抗赛时间 定期开展网络安全检测情况台账 网络安全保卫报告 松江区服务器设备回收哪里有 网络技术市场活动 公安监控网络安全规范 三国快打服务器 安全狗怎么连接远程服务器 数据库技术与应用这个课重要吗 我们所熟悉的网络技术和应用 盐城智能化服务器供货厂 网络安全教育行业发展现状 中华人民网络安全法在线考试 12部门联合印发网络安全审查 软件开发公司视频 苏州蜂拥云网络技术有限公司 clay粘土服务器怎么发消息 大数据架构什么软件开发 潮汕商城软件开发多少钱 供电企业网络安全管理 南京跃曝网络技术有限公司 苏州软件开发专业培训学校 河南怡通互联网络技术有限公司 表不是数据库组织级别 数据库创建求一到一百的和 浙江云锋网络技术有限公司 华为服务器电源改电脑电源 腾讯服务器在哪啊 代理服务器流量分流 xml 存数据库
0