返回顶部
首页 > 资讯 > 数据库 >如何进行MySQL实施JDBC 2.0/3.0 的新特性实践
  • 408
分享到

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

2024-04-02 19:04:59 408人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关如何进行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 的新特性实践就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: 如何进行MySQL实施JDBC 2.0/3.0 的新特性实践

本文链接: https://lsjlt.com/news/67562.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何进行MySQL实施JDBC 2.0/3.0 的新特性实践
    这篇文章将为大家详细讲解有关如何进行MySQL实施JDBC 2.0/3.0 的新特性实践,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。昨天一天都没有调试出上...
    99+
    2024-04-02
  • 如何进行Python进程的守护进程实施
    如何进行Python进程的守护进程实施,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Python进程这一计算机语言在实际的应用中,如果你在实际应用的过程中遇到相...
    99+
    2023-06-17
  • 如何进行SequoiaDB + JanusGraph的实践
    如何进行SequoiaDB + JanusGraph的实践,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。JanusGraph 实...
    99+
    2024-04-02
  • 如何进行mysql备份平台及django实践
    这期内容当中小编将会给大家带来有关如何进行mysql备份平台及django实践,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。mysql备份平台--django实践一、my...
    99+
    2024-04-02
  • 如何进行Android Hook技术的实践
    这篇文章将为大家详细讲解有关如何进行Android Hook技术的实践,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。概述在学习Android插件化的过程中有用到Hook相关技术,下文对Hoo...
    99+
    2023-06-04
  • 如何进行Zabbix 宏变量的实践
    本篇文章为大家展示了如何进行Zabbix 宏变量的实践,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、.宏介绍        宏是一种抽...
    99+
    2023-06-06
  • SpringBoot如何进行对象复制的实践
    目录为什么需要对象复制对象复制工具类推荐Orika基本使用引入依赖Orika工具类使用文档TC1,基础实体映射TC2,实体映射-字段转换TC3,基础集合映射TC4,集合映射-字段映射...
    99+
    2024-04-02
  • 如何使用更新的特性进行响应式设计
    这篇文章主要介绍“如何使用更新的特性进行响应式设计”,在日常操作中,相信很多人在如何使用更新的特性进行响应式设计问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用更新的特...
    99+
    2024-04-02
  • 如何进行JavaScript设计模型Iterator的实践
    今天就跟大家聊聊有关如何进行JavaScript设计模型Iterator的实践,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所...
    99+
    2024-04-02
  • 如何进行Redis5新特性中Streams作消息队列的分析
    这期内容当中小编将会给大家带来有关如何进行Redis5新特性中Streams作消息队列的分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。前言Redis 5 新特性中,S...
    99+
    2024-04-02
  • 如何进行JDK7新特性中fork/join框架的原理分析
    如何进行JDK7新特性中fork/join框架的原理分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。原理解析:fork分解,join结合。这个框架的本质是将一个任务分解成多个...
    99+
    2023-06-17
  • 如何进行Spark SQL在100TB上的自适应执行实践
    本篇文章给大家分享的是有关如何进行Spark SQL在100TB上的自适应执行实践,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Spark SQL是Apache Spark最广...
    99+
    2023-06-02
  • C++11新特性中如何进行列表初始化的具体使用
    这篇文章给大家介绍C++11新特性中如何进行列表初始化的具体使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在我们实际编程中,我们经常会碰到变量初始化的问题,对于不同的变量初始化的手段多种多样,比如说对于一个数组我们...
    99+
    2023-06-29
  • 如何进行C4C Cloud Application Studio做ABSL开发中性能方面的最佳实践
    如何进行C4C Cloud Application Studio做ABSL开发中性能方面的最佳实践,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。如何批量调用BO action不...
    99+
    2023-06-04
  • 如何进行单元测试利器JUnit的实践与分析
    今天就跟大家聊聊有关如何进行单元测试利器JUnit的实践与分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。单元测试工具Junit是一个开源项目,昨天学习了一下这个东西,总结下心得。...
    99+
    2023-06-17
  • CSS新属性如何实现特殊的图片显示效果
    这篇文章主要介绍了CSS新属性如何实现特殊的图片显示效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1 概述1.1 前言使用一个或多个图像...
    99+
    2024-04-02
  • 如何进行数据库“状态”字段设计的思考与实践
    本篇文章给大家分享的是有关如何进行数据库“状态”字段设计的思考与实践,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。正文最近在做订单及支付相关的...
    99+
    2024-04-02
  • 如何利用MySQL特性实现MySQL查询结果的分页显示
    这篇文章将为大家详细讲解有关如何利用MySQL特性实现MySQL查询结果的分页显示,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在mysql中利用select语...
    99+
    2024-04-02
  • 如何进行MySQL数据库中的多实例配置
    今天就跟大家聊聊有关如何进行MySQL数据库中的多实例配置,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。MySQL数据库基础篇之入门基础命令所有的操...
    99+
    2024-04-02
  • 如何进行HTML5中手势原理分析与数学知识的实践
    本篇文章为大家展示了如何进行HTML5中手势原理分析与数学知识的实践,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。引言在这触控屏的时代,人性化的手势操作已经深入了我...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作