所谓JDBC就是利用java与数据库相连接的技术,从数据库获取既有的信息或者把网页上的信息存储到数据库。

这里简单的介绍公司的一个小项目中的一部分,由于代码较多,所以用图片形式进行展示。源码请查看源码库,稍后上传。

            图1-信息图                            图2-用户图

如上图所示的两个模块,对应着数据库当中的两张表。第一张表用来显示部分岗位的信息,第二张表示用户信息表,我们用来显示用户部分信息。

本次所使用的数据库为ORACLE,所以必须首先在数据库当中建表。

      图3-建表

在oracle中建立两张表,对应如上所示的两个图。第一张表java02_xp_table1是用户信息表,当填入信息并点击submit按钮时,所填入的信息将保存在数据库当中,在PLSQL当中立即可以查询到。而第二张表java02_xp_table2是信息表,数据库中对于此表已经有了数据,只需通过查询吧数据库当中的信息显示在页面上。如图1所示已经显示了信息。

    图4-项目结构图

如上图4所示为该web项目的结构图,在eclipse下,我们首先建立两个实体类也即两个javaBean,对应两张表的信息。其中一个用户信息

public class User {
  private String xp_id;
  private String xp_name;
  private String xp_email;
  private String xp_subject;
  private String xp_message;

  //用eclipse自动生成get,set方法。这里不再累述。

}

同样的,对于第二张表也要生成get,set方法

public class Information {
  private String table_id;
  private String table_name;
  private String table_price;
  private String table_info1;
  private String table_info2;
  private String table_info3;
  private String table_info4;
  private String table_info5;

  //用eclipse自动生成get,set方法。这里不再累述

}

在javaBean建立成功的基础上我们建立三个dao类。

1.BaseDao---不可更改,封装数据库的基础操作,是其他Dao类的父类,

2.UserDao---继承BaseDao,提供从对数据库中的用户表的操作接口,由UserDaoImpl实现,UserDaoImpl---实现UseroDao接口。大体就是这样的结构.

3. InformationDao跟UserDao实现一样的功能。其他Dao类也从BaseDao继承。实现对不同表的操作。

          图5-BaseDao

如图5所示,建立了一个基础dao类,后面的两个dao都是继承与这个基本的dao。注意上图的driver_oracle,使用oracle进行驱动必须要加入相应的jar包,本次所使用的问哦ojdbc6.jar。通过build path添加到工程文件中去。url_oracle是数据库的连接字符串,通过localhost我们知道连接的数据库为本地的数据库,1521为oracle数据库的监听端口,mysql一般为3306,再后面的ORACLE 为我数据库的名字。class.forName()方法进行数据库的驱动进行加载DriverManager.getConnection(url_oracle,"user2","12345")是对数据库进行连接,user2为当前数据库的用户名,12345为密码。

这就是使用JDBC连接数据库。

          图6-UserDao

上图6为UserDao类。该类继承BaseDao类,主要是定义了一个addUser()方法,其目的在于通过点击submit来实现对java02_xp_table1表进行数据的添加操作。这里采用预编译的方法对数据库进行操作,有不懂的请参考:http://blog.csdn.net/c1481118216/article/details/52838673。

方法executeUpdate,用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL,DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。 INSERT、UPDATE 或DELETE 语句的效果是修改表中零行或多行中的一列或多列。 executeUpdate的返回值是一个整数,只是返回受影响的行数(即更新计数)。 对于 CREATE TABLE 或 DROP TABLE等不操作行的语句,executeUpdate 的返回值总为零。

          图7-InformationDao

InformationDao继承于BaseDao,主要是对Information这张表进行数据操作,实现了对数据库JAVA02_XP_TABLE2表的内容查询的功能。执行了查询以后将数据进行封装,封装到一个list当中,通过get,set方法实现数据的转换。

    图8-InformationService                图9-UserService

上图为两个service,这两个service主要是为了实现两个方法。InformationService是为了得到更新的数量,而UserService是为了实现addUser()方法。

最主要的就是两个servlet,这两个servlet都有相同的一些方法,但是在doPost()方法中所实现的功能不一样。

      图10-UserServlet

在UserServlet中,通过request.getParameter()方法从页面上获取相应的数据。数据的格式使用JSON,使用JSON得添加相应的jar包。得到页面上相应的数据以后,再通过set方法传递到user中实现addUser()方法。row的值是为了确认传递数据的数量,通过这个值来确认是否传递成功是一个小的亮点。

          图10-InformationServlet

该IformationServlet主要实现的功能是对数据的查询,查询已经存在于数据库当中的信息。

            图11-jquery                               图12-ajax

这两种方法都是Html中用到的技术。这也是模板的固定形式。用于页面数据的传递。

本项目的结构大概如此,千万别忘了在web.xml中进行相应的配置。

利用ajax获取网页表单数据,并存储到数据库之一(使用JDBC)的更多相关文章

  1. 利用ajax获取网页表单数据,并存储到数据库之二(使用SSH)

    上篇介绍了如何使用JDBC链接ORACLE数据库实现对数据库的增删改查,本例是使用框架SSH来对数据库的数据进行操作. 首先说框架,现在流行的框架很多,如Struts.Hibernate.Spring ...

  2. 3..jquery的ajax获取form表单数据

    jq是对dom进行的再次封装.是一个js库,极大简化了js使用 jquery库在js文件中,包含了所有jquery函数,引用:<script src="jquery-1.11.1.mi ...

  3. html基础:jquery的ajax获取form表单数据

    jq是对dom进行的再次封装.是一个js库,极大简化了js使用 jquery库在js文件中,包含了所有jquery函数,引用:<script src="jquery-1.11.1.mi ...

  4. 用Tchromium替代webbrowser提交网页表单有关问题

    用Tchromium替代webbrowser提交网页表单有关问题   提交表单时,使用js脚本,然后用 chrm.browser.Frame['ff'].ExecuteJavaScript 提交就可以 ...

  5. 使用所见即所得文本编辑器编辑文本存入数据库后通过ajax获取服务器json_encode的数据到前台,文本内容上边的html标签不解析

    使用所见即所得文本编辑器编辑文本存入数据库后通过ajax获取服务器json_encode的数据到前台,文本内容上边的html标签不解析 因为我在前台使用了jquery的text()方法,而不是html ...

  6. VC提交网页表单(一共八篇)

    VC提交网页表单-自动评论留言(1)http://blog.csdn.net/wangningyu/article/details/4526357VC提交网页表单-自动评论留言(2)http://bl ...

  7. Ajax获取 Json文件提取数据

    摘自 Ajax获取 Json文件提取数据 1. json文件内容(item.json) [ { "name":"张国立", "sex":&q ...

  8. C#利用WMI获取 远程计算机硬盘数据

    一.利用WMI获取 远程计算机硬盘数据,先引入"System.Management.dll"文件. /// <summary>        /// 获取存储服务器硬盘 ...

  9. JS获取form表单数据

    以下代码可放在一个js文件中,以便通用: //获取指定表单中指定标签对象 function getElements(formId, label) { var form = document.getEl ...

随机推荐

  1. Spring学习之路一

    Spring 官网:http://projects.spring.io/spring-framework/ Spring下载地址:https://repo.spring.io/simple/libs- ...

  2. eclipse导入项目之后有感叹号

    说明项目的编译过程报错.导致原因:项目引入后,需要重新配置jar包路径. 1.右击你的项目-->Build Path-->Configure Build Path.... 2.在弹出的对话 ...

  3. socket编程--相关函数--sendto();read();

    {1} 头文件:#include <sys/types.h>   #include <sys/socket.h>定义函数:int sendto(int s, const voi ...

  4. 解决vue路径中#号

    在router文件夹下的js文件中,更改配置增加 mode: 'history'; vue-router官方文档:https://router.vuejs.org/zh-cn/essentials/h ...

  5. (2-3)Eureka详解

    基础架构 服务注册中心 服务提供者 服务消费者 服务治理 服务提供者 服务注册.在服务注册时,需要确认一下eureka.client.registerwith-eurek=ture参数是否正确,默认是 ...

  6. Hibernate (三)

    1 一对多的单向 示例:一个已经存在的学生,新建一个班级,然后将该学生加入到该班级之下 设置inverse="false" <?xml version="1.0&q ...

  7. <select>设置multiple="multiple"属性后 下拉框全部展开了 不再是折叠的怎么回事

    1 <select multiple="multiple" size="5"> <option>1</option> < ...

  8. Java自学能学会吗?最新Java高级学习路线

    就好像一千个人心中有一千个哈利波特一样,这个答案不绝对也不唯一,Java好学但自学的确阻力有些大,作为一门技术语言,它所蕴含的智慧绝对不是靠几本XX入门,XX框架之类的书所能概括,自学Java你要做好 ...

  9. 怎样共享windows和linux之间的文件

    注:本文参考自:https://www.howtogeek.com/176471/how-to-share-files-between-windows-and-linux/,相当于是原文的翻译. 一. ...

  10. django xadmin 集成DjangoUeditor富文本编辑器

    本文档记录自己的学习历程! 介绍 Ueditor HTML编辑器是百度开源的在线HTML编辑器,功能非常强大 额外功能 解决图片视频等无法上传显示问题 Ueditor下载地址 https://gith ...