利用ajax獲取網頁表單數據,並存儲到數據庫之一(使用JDBC)

所謂JDBC就是利用java與數據庫相鏈接的技術,從數據庫獲取既有的信息或者把網頁上的信息存儲到數據庫。java

這裏簡單的介紹公司的一個小項目中的一部分,因爲代碼較多,因此用圖片形式進行展現。源碼請查看源碼庫,稍後上傳。mysql

            圖1-信息圖                            圖2-用戶圖jquery

如上圖所示的兩個模塊,對應着數據庫當中的兩張表。第一張表用來顯示部分崗位的信息,第二張表示用戶信息表,咱們用來顯示用戶部分信息。web

本次所使用的數據庫爲ORACLE,因此必須首先在數據庫當中建表。ajax

      圖3-建表sql

在oracle中創建兩張表,對應如上所示的兩個圖。第一張表java02_xp_table1是用戶信息表,當填入信息並點擊submit按鈕時,所填入的信息將保存在數據庫當中,在PLSQL當中當即能夠查詢到。而第二張表java02_xp_table2是信息表,數據庫中對於此表已經有了數據,只需經過查詢吧數據庫當中的信息顯示在頁面上。如圖1所示已經顯示了信息。數據庫

    圖4-項目結構圖oracle

如上圖4所示爲該web項目的結構圖,在eclipse下,咱們首先創建兩個實體類也即兩個javaBean,對應兩張表的信息。其中一個用戶信息eclipse

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

  //用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中進行相應的配置。

相關文章
相關標籤/搜索