1. 程式人生 > >JavaWab開發基礎片(一)

JavaWab開發基礎片(一)

轉載於:(https://blog.csdn.net/qq_31242531/article/details/80497940)
內容詳見上文,謝謝!

最近在測試中發現mysql資料庫儲存測試用例,測試結果是一種不錯的選擇,為了後期方便在客戶端展示測試,便寫了個介面。此次介面開發不使用任何框架,需下載gson.jar,mysql-connector.jar,servlet-api.jar,以下為介面的開發思路

1.建立資料表,我這邊使用的是mysql資料庫


     
  1. /*
  2. SQLyog 企業版 - MySQL GUI v8.14
  3. MySQL - 5.5.49 : Database - test
  4. *********************************************************************
  5. */
  6. /*!40101 SET NAMES utf8 */
    ;
  7. /*!40101 SET SQL_MODE=''*/;
  8. /*!40014 SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
  9. /*!40014 SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
  10. /*!40101 SET @[email protected]@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
  11. /*!40111 SET @[email protected]@SQL_NOTES, SQL_NOTES=0 */;
  12. CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test` /*!40100 DEFAULT CHARACTER SET utf8 */;
  13. USE `test`;
  14. /*Table structure for table `testcase` */
  15. DROP TABLE IF EXISTS `testcase`;
  16. CREATE TABLE `testcase` (
  17. `caseId` INT( 11) NOT NULL AUTO_INCREMENT,
  18. `caseName` VARCHAR( 255) CHARACTER SET latin1 NOT NULL,
  19. `caseDetail` VARCHAR( 255) CHARACTER SET latin1 NOT NULL,
  20. `caseDevice` VARCHAR( 255) CHARACTER SET latin1 NOT NULL,
  21. PRIMARY KEY ( `caseId`)
  22. ) ENGINE= INNODB AUTO_INCREMENT= 48 DEFAULT CHARSET=utf8 CHECKSUM= 1 DELAY_KEY_WRITE= 1 ROW_FORMAT=DYNAMIC;
  23. /*Data for the table `testcase` */
  24. INSERT INTO `testcase`( `caseId`, `caseName`, `caseDetail`, `caseDevice`) VALUES ( 2, '2', '233', '444'),( 16, 'dsf', 'sf', 'sfd'),( 17, 'safd', 'sadf', 'asf'),( 18, 'saf', 'ggd', 'sdf'),( 19, 'dsaf', 'sdf', 'sdf'),( 20, 'sfd', 'sfd', '(NfdsULL)'),( 21, 'sdf', 'v', 'v'),( 22, 'f', 'f', 'e'),( 23, 'w', 'r3', 'rt'),( 24, 'er', 'rtrt', 'sfad'),( 25, 'sf', 'sdf', 'fds'),( 26, 'sa', 's', 's'),( 27, 'e', 'e', 'e'),( 28, 'sa', 'rt', 'rt'),( 29, 'we', 'ew', 'qw'),( 30, 'we', '(NULfL)', 'dsf'),( 31, 'fd', 's', 'g'),( 32, 's', 'g', 'f'),( 33, 'sf', 'f', 'f'),( 34, 'c', 'c', 'c'),( 35, 'e', 'e', 'e'),( 36, 'd', 'd', 'q'),( 37, 'q', 'e', 'r'),( 38, 'f', 'r', 'g'),( 39, 'g', '(NULgL)', 'g'),( 40, 'gg', 'g', 'd'),( 41, 'f', 'f', 'f'),( 42, 'f', 'f', 'f'),( 43, 'f', 'f', 'f'),( 44, 'v', 'f', 'g'),( 45, 'e', 'e', 'r'),( 46, '4', 'rt', 'fg'),( 47, 'dsf', 'ds', 'sdf');
  25. /*!40101 SET [email protected]_SQL_MODE */;
  26. /*!40014 SET [email protected]_FOREIGN_KEY_CHECKS */;
  27. /*!40014 SET [email protected]_UNIQUE_CHECKS */;
  28. /*!40111 SET [email protected]_SQL_NOTES */;
2.編寫資料庫工具類

     
  1. package model;
  2. import java.sql.*;
  3. public class DBconn {
  4. static String url = "jdbc:mysql://localhost:3306/test?useunicuee=true& characterEncoding=utf8";
  5. static String username = "root";
  6. static String password = "123456";
  7. static Connection conn = null;
  8. static ResultSet rs = null;
  9. static PreparedStatement ps = null;
  10. public static void init(){
  11. try {
  12. Class.forName( "com.mysql.jdbc.Driver");
  13. conn = DriverManager.getConnection(url,username,password);
  14. } catch (Exception e) {
  15. System.out.println( "init [SQL驅動程式初始化失敗!]");
  16. e.printStackTrace();
  17. }
  18. }
  19. public static int addUpdDel(String sql){
  20. int i = 0;
  21. try {
  22. PreparedStatement ps = conn.prepareStatement(sql);
  23. i = ps.executeUpdate();
  24. } catch (SQLException e) {
  25. System.out.println( "sql資料庫增刪改異常");
  26. e.printStackTrace();
  27. }
  28. return i;
  29. }
  30. public static ResultSet selectSql(String sql){
  31. try {
  32. ps = conn.prepareStatement(sql);
  33. rs = ps.executeQuery(sql);
  34. } catch (SQLException e) {
  35. System.out.println( "sql資料庫查詢異常");
  36. e.printStackTrace();
  37. }
  38. return rs;
  39. }
  40. public static void closeConn(){
  41. try {
  42. conn.close();
  43. } catch (SQLException e) {
  44. System.out.println( "sql資料庫關閉異常");
  45. e.printStackTrace();
  46. }
  47. }
  48. }
3.編寫實體類

     
  1. package model;
  2. public class TestCase {
  3. private int id;
  4. private String caseName;
  5. private String caseDetail;
  6. private String caseDevice;
  7. public int getId() {
  8. return id;
  9. }
  10. public void setId(int id) {
  11. this.id = id;
  12. }
  13. public String getCaseName() {
  14. return caseName;
  15. }
  16. public void setCaseName(String caseName) {
  17. this.caseName = caseName;
  18. }
  19. public String getCaseDetail() {
  20. return caseDetail;
  21. }
  22. public void setCaseDetail(String caseDetail) {
  23. this.caseDetail = caseDetail;
  24. }
  25. public String getCaseDevice() {
  26. return caseDevice;
  27. }
  28. public void setCaseDevice(String caseDevice) {
  29. this.caseDevice = caseDevice;
  30. }
  31. }

4.新建一個分頁實體類,以便後期資料做分頁


     
  1. package model;
  2. import java.util.List;
  3. public class TestCaseTotal {
  4. private int total;
  5. private List<TestCase> rows;
  6. public TestCaseTotal() {
  7. }
  8. public TestCaseTotal(int total, List<TestCase> rows) {
  9. this.total = total;
  10. this.rows = rows;
  11. }
  12. public int getTotal() {
  13. return total;
  14. }
  15. public void setTotal(int total) {
  16. this.total = total;
  17. }
  18. public List<TestCase> getRows() {
  19. return rows;
  20. }
  21. public void setRows(List<TestCase> rows) {
  22. this.rows = rows;
  23. }
  24. }
5.基礎操作寫到一個接口裡

     
  1. package model;
  2. import java.util.List;
  3. public interface TestCaseDao {
  4. public List<TestCase> getCaseAll();
  5. public boolean addCase(TestCase testCase) ;
  6. public boolean deleteCase(int id) ;
  7. public boolean updateCase(TestCase testCase) ;
  8. }
6.實現Dao介面

     
  1. package model;
  2. import java.sql.PreparedStatement;
  3. import java.sql.ResultSet;
  4. import java.sql.SQLException;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. public class TestCaseDaoImpl implements TestCaseDao {
  8. private PreparedStatement ptmt = null;
  9. private ResultSet rs = null;
  10. @Override
  11. public List<TestCase> getCaseAll() {
  12. // TODO Auto-generated method stub
  13. List<TestCase> list = new ArrayList<TestCase>();
  14. try {
  15. DBconn.init();
  16. 相關推薦

    JavaWab開發基礎

    轉載於:(https://blog.csdn.net/qq_31242531/article/details/80497940) 內容詳見上文,謝謝! 最近在測試中發現mysql資料庫儲存測試用例,測試結果是一種不錯的選擇,為了後期方便在客戶端展示測試,便寫

    ArcGIS Engine開發基礎總結

    目錄 reader style mov 空間 圖層 不能添加 頁面 制圖 標準Engine功能 地圖瀏覽 地圖制作 數據查詢 數據分析 及 所有的開發控件 —MapControl, PageLayout, Toolbar, TOC, ArcRea

    高性能服務器開發基礎系列 主線程與工作線程的分工

    c++ 服務器 服務器端為了能流暢處理多個客戶端鏈接,一般在某個線程A裏面accept新的客戶端連接並生成新連接的socket fd,然後將這些新連接的socketfd給另外開的數個工作線程B1、B2、B3、B4,這些工作線程處理這些新連接上的網絡IO事件(即收發數據),同時,還處理系統中的另外一些事

    高性能服務器開發基礎系列 ——開源款即時通訊軟件的源碼

    c++ 服務器 在我的《高性能服務器開發基礎系列》這個系列的第一篇至第六篇都是講了一些零散的不成體系的網絡編程細節。今天,在這篇文章中,我將介紹一款我自主開發的即時通訊軟件flamingo(中文:火烈鳥),並開源其服務器和pc客戶端代碼。以此來對前幾篇文章中說到的理論進行實踐。 代碼在github和c

    嵌入式Linux應用開發完全手冊嵌入式Linux基礎知識

    嵌入式Linux應用開發完全手冊 3 嵌入式Linux基礎知識 3.1 交叉編譯工具 編譯工具鏈,編譯工作由幾個步驟完成,分別用到了不同的工具 PC端應用 gcc ld objcopy

    java基礎記錄開發環境的配置

    一、JDK的安裝與環境變數配置   1.jdk下載與安裝。 jdk1.8.0_192下載地址 下載完成後,雙擊執行安裝檔案。可以選擇你要安裝的位置或者直接下一步,等待安裝完成,最後關閉。 2.配置環境變數。 選中我的電腦右鍵-->屬性-->高階系統設定-->環境變數,

    智慧合約基礎語言——Solidity概述和開發工具的使用

    一、目錄 ☛Solidity的概述 ☛Solidity開發工具remix的使用 ☛Solidity本地開發工具remix安裝 二、Solidity的概述 Solidity 是一門為實現智慧合約而建立的高階程式語言。這門語言受到了 C++,Python

    salesforce 零基礎開發入門學習Salesforce功能介紹,IDE配置以及資源下載

    目前國內已經有很多公司做salesforce,但是國內相關的資料確是少之又少。上個月末跳槽去了新公司,主要做的就是salesforce,不過當時想要看一些相關資料確實比較難。為了避免想要零基礎學習的人少走一點彎路,所以整理一下這幾天學到的簡單的東西,包括登入salesforce後如何操作,如何下載配置IDE

    servlet基礎梳理

    span enc 準備 ++ login 中間數據 企業 efi ont 將近一個月沒看servlet了,再加上第一次學習也沒有深入。僅僅是籠統的看了一遍,編了一點基礎案例就過去了,如今再去看感覺跟沒學過一樣。這裏再用一點時間把這些基礎都梳理一下,加深印

    【轉】如何為Apache JMeter開發插件

    選擇 ref 測試結果 沒有 通過 pri for entry state 本文轉載於http://blog.csdn.net/column/details/12925.html,作者:xreztento 作者寫的很精華,我打算在此系列操作一遍後,加多點截圖,便於更多人更快

    c語言-樹的基礎知識

    相交 ges 最大 .cn nbsp 分享 blog com lin 第一、樹的定義: 1.有且只有一個稱為根的節點 2.有若幹個互不相交的子樹,這些子樹本身也是一顆樹 第二、專業術語: 樹的深度:從根節點到最低層,節點的層數 ,稱之為樹的深度。

    java_web項目開發經驗總結

    從數據 簡單 處理 開發 事務 傳輸 記錄 承載 基礎上   web項目就像一個動態的記事本,功能很強大,你最初的項目功能調研越給力,項目所能發揮的作用也就越給力。這是因為web網絡的強聯系性,大家都可以通過訪問到自己想要訪問的頁面,頁面裏既可以承載信息,也可以承載做事情的

    vue基礎學習

    time tle eight pla use logs new dial for 01-01 vue使用雛形      <div id="box"> {{msg}} </div> <sc

    webpack基礎使用

    nbsp 文件的 參數 aso 哈希 安裝目錄 -- 變換 bpa 安裝webpack:0.在全局安裝webpack npm install webpack -g(如果不在全局裝一個webpack,局部的會不識別) 1.通過命令行進入項目安裝目錄,2.輸入npm i

    Css 基礎知識

    mes 層疊 width 布局 增加 rgb 文本 用法 並集 1、Css概念 CSS 指層疊樣式表 (Cascading Style Sheets)(級聯樣式表),Css是用來美化html標簽的,相當於頁面化妝。 ◆樣式表書寫位置 2、 選擇器 2.1、寫法 選擇器是選

    MongoDB基礎知識

    解決方案 互聯網 我們很好 數據庫 基礎知識 互聯網行業的發展非常的迅速,數據存儲以及架構優化方面也有很多不同的解決方案,例如關系型數據庫、非關系型數據庫、數據倉庫技術等。更多數據庫類產品的出現,為我們很好的解決了數據存儲的問題,例如Redis緩存,MySQL關系型數據庫,MongoDB

    Linux入門基礎命令

    linux運維Linux入門基礎命令內部命令常駐內存:由shell自帶的,而且通過某命令形式提供help:獲取所有內部命令列表(下圖只截取了一部分)enable COMMAND:執行此命令可以啟用COMMAND命令enable -n COMMAND:執行此命令可以禁用COMMAND命令enable -n:查看

    軟件project—思考項目開發那些事

    app 爛代碼 fontsize 模式 大型 不明確 極限 後拋 con 閱讀文件夾: 1.背景2.項目管理,質量、度量、進度3.軟件開發是一種設計活動而不是建築活動4.高速開發(簡單的系統結構與復雜的業務模型)5.技術人員的業務理解與產品經理的業務理解的終於業務模型

    OpenStack基礎環境

    楊文 軟件 數據中心 title 雲平臺 openstack介紹 openstack是一個雲平臺管理的項目,它不是一個軟件。也就是說我們可以使用openstack來管理我們一個數據中心大量資源池。它裏面包含了很多子項目openstack包含三大項:計算 網絡 存儲   openstack

    Linux下基礎命令

    linux find 實戰操作 每天積累知識就會有成長,只要付出在不久的將來一定會有收獲,可能回來的晚點,但是一定要貴在堅持,今天第一次發博客,如不出意外情況我每天都會發的,這個是我總結的find命令的一些實戰,希望我總結的知識點在今後會對大家有幫助。find -name "*a" #以a