所谓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整合Struts的两种方式介绍

    1 使用Spring托管Struts Action 该种方式就是将Struts Action也视为一种Bean交给Spring来进行托管,使用时Struts的配置文件中配置的Action的classs ...

  2. Java Draw

    简单绘画 直线 矩形 圆 根据矩阵画图 package com.zhoudm; import java.awt.*; import javax.swing.*; public class Draw e ...

  3. Azure Powershell获取指定订阅下的虚拟机信息(ARM)

    为方便Azure用户导出已创建虚拟机的相关信息,特编写如下脚本: 详情脚本: # 登陆Azure Account Add-AzureRmAccount -EnvironmentName AzureCh ...

  4. linux_Nginx日志

    错误信息日志配置: 日志文件默认:/application/nginx/logs/erroe.log error_log logs/error.log error; # 不写默认就有,默认error, ...

  5. Git: 本地创建版本库用于多处同步

    问题背景 目前有一个 Android 和 一个 iOS 项目,两个项目底层使用相同的 C++ 代码.由于在开发迭代中代码时常更新,而且往往是今天 Android 部分修改一小部分,明天 iOS 部分修 ...

  6. 通过反编译深入理解Java String及intern(转)

    通过反编译深入理解Java String及intern 原文传送门:http://www.cnblogs.com/paddix/p/5326863.html 一.字符串问题 字符串在我们平时的编码工作 ...

  7. 面试必问的 volatile,你了解多少?

    前言 Java中volatile这个热门的关键字,在面试中经常会被提及,在各种技术交流群中也经常被讨论,但似乎讨论不出一个完美的结果,带着种种疑惑,准备从JVM.C++.汇编的角度重新梳理一遍. vo ...

  8. C# Linq基本常用用法

    1.什么是Linq? Lanaguage Interated Query(语言集成查询),Linq 是集成C# 和VB这些语言中用于提供数据查询能力的一个新特性. 这里只介绍两种基本常用用法. 学习方 ...

  9. 【转】Linux shell笔记

    由于工作的需要,越来越多的接触到linux系统.最近看了<Linux与Unix Shell>这本书,安装书的章节整理了一些自己认为比较重要的命令,方便以后查阅. No.001 文件安全与权 ...

  10. Android开发——打造简单的Viewpager指示器

    准备工作: 1.两张不同颜色的小圆点图片,可以去阿里巴巴矢量图网站搜索 我把我使用的图片贴出来 2.一个简单的Viewpager的实现 下面是简单的Viewpager实现步骤: 1.布局文件使用Vie ...