撩課-JavaWeb之Dao程式碼重構存在的問題與抽取DML方法
存在的問題
在DAO當中執行的儲存方法,更新方法,刪除這些DML操作有太多重複程式碼
圖示:
重構程式碼原則
同一個類中
在一個類當中有多個方法當中有太多相同的程式碼
不同的地方通過引數傳遞進去
把它們抽到一個方法當中
不同類中
不同類當中有共同的程式碼給抽取到一個新類當中。
大家同時共享該類中的內容
抽取DML方法
1.設計一個方法
2.要求傳入兩個引數
一個sql語句
一個引數
第一個引數sql語句模板
第二個引數為可變引數,設定語句引數值
3.返回值
返回值為int,受影響的行數。
DAO重構示意圖
呼叫示意圖
相關推薦
撩課-JavaWeb之Dao程式碼重構存在的問題與抽取DML方法
存在的問題 在DAO當中執行的儲存方法,更新方法,刪除這些DML操作有太多重複程式碼 圖示: 重構程式碼原則 同一個類中 在一個類當中有多個方法當中有太多相同的程式碼 不同的地方通過引數傳遞進去 把它們抽到一個方法當中 不同類中 不同類當中有共同的
撩課-JavaWeb之什麼是連線池與連線池使用
什麼是連線池 沒有連線池的情況 每次CRUD操作都要使用資料庫的時候,都要建立一個數據庫連線物件 普通的JDBC資料庫連線使用 DriverManager 來獲取 每次向資料庫建立連線的時候都要將 Connection 載入到記憶體中 然後再驗證使用者名稱和密碼花費時間0.0
撩課-JavaWeb之開發步驟與DAO程式碼重構
開發步驟 1.建立表 2.建立domain包和domain類 3.建立dao包和dao介面 4.建立dao.impl包和dao實現類 5.根據dao介面建立dao測試類 6.編寫實現類當中dao的宣告的方法體 7.每編寫一個dao方法,進行測試功能是否正確 建立包
17-撩課JavaWeb之JSP變數/註釋/指令
線上學習地址: 撩課-JavaWeb系列1之基礎語法-前端基礎 撩課-JavaWeb系列2之XML 撩課-JavaWeb系列3之MySQL 撩課-JavaWeb系列4之JDBC 撩課-JavaWeb系列5之web伺服器-idea JSP指令碼元素和變數 在JSP當中寫Java程式碼
16-撩課JavaWeb之JSP原理
線上學習地址: 撩課-JavaWeb系列1之基礎語法-前端基礎 撩課-JavaWeb系列2之XML 撩課-JavaWeb系列3之MySQL 撩課-JavaWeb系列4之JDBC 撩課-JavaWeb系列5之web伺服器-idea JSP簡介 什麼是JSP JSP全名為Java S
20-撩課JavaWeb之JSTL
什麼是JSTL JSTL(JSP Standard Tag Library), JSP標準標籤庫 可以嵌入在jsp頁面中使用標籤的形式 完成業務邏輯等功能 jstl出現的目的同el一樣 也是要代替jsp頁面中的指令碼程式碼 JSTL標準標籤庫有5個子庫 Core :核心
18-撩課JavaWeb之JSP動作標籤與隱式物件
標籤動作 頁面包含 <jsp:include page="被包含的頁面"></jsp:include> 動態包含 各自翻譯自己的頁面,然後再引入 請求轉發 <jsp:forward page="要轉發的資源"></jsp:for
撩課-JavaWeb之JDBC概述與連線Mysql
什麼是JDBC 是一種用於執行SQL語句的Java API 它由一組用Java語言編寫的類和介面組成 JDBC提供了一種操作資料的標準 JDBC的目標是使Java程式設計師使用JDBC可以連線任何提供了JDBC驅動程式的資料庫系統, 通過驅動連線 JDBC的API
撩課-JavaWeb之Statement介面與預編譯語句及呼叫儲存過程
Statement介面 介面 Statement介面作用 用於進行Java程式和資料庫之間的資料傳輸 具體類有3個實現 Statement 用於對資料庫進行通用訪問,使用的是靜態sql PreparedStatement PreparedSta
撩課-JavaWeb之JDBC-ORM與Domain
什麼是ORM? 物件關係對映 將關係資料庫中表中的記錄對映成為物件,以物件的形式展現 因此ORM的目的是為了方便開發人員以面向物件的思想來實現對資料庫的操作。 對應關係 示意圖如下: 什麼是domain 就是一個類 符合JavaBean規範
撩課-JavaWeb之儲存圖片與獲取自動生成的主鍵
儲存圖片 資料庫當中的BLOB 儲存圖片、音訊、視訊等多媒體資訊 以二進位制流的形式 真正開發中 不會把二進位制的檔案存放在資料庫當中 把檔案儲存的路徑儲存在資料庫當中, 以後再取出路徑,到該路徑下讀取資訊 BLOB型別 TINYBLOB 255個位
撩課-JavaWeb之事務與批處理
事務 事務問題 建立一張個人賬戶表 zs與ls進行轉賬 1.檢查zs賬戶餘額 2.減少zs賬戶1000 3.增加ls賬戶1000 示例如下: 出現異常情況 在第2步和第3步之間弄一個異常 int a = 1 / 0;
撩課-JavaWeb之抽取DQL
抽取DQL 抽取之前的程式碼 抽取之後程式碼 遺留問題 查詢的時候,只能查詢學生 可以使用泛型解決 處理結果集的時候 每一個都封裝成了student物件, 這寫死了 原因 知道封裝成什麼型別的物件 就不應該處理結果集 解決辦法 把
撩課-JavaWeb之什麼是DBUtils與QueryRunner和ResultHandler
什麼是DBUtils DBUtils是Apache公司編寫的資料庫操作實用的工具,小巧,簡單,實用 封裝了對JDBC的操作,簡化了JDBC操作 QueryRunner QueryRunner(DataSource ds) 提供資料來源連線池,會自動幫你建立連線
撩課-JavaWeb之Class型別與內省
Class型別 什麼是Class型別 位元組碼型別 所有的位元組碼把他們當做一個群體型別 通過位元組碼建立物件 Student stu = Student.class.newInstance(); 內省 什麼是內省 用於檢視和操作JavaBean中的屬
tensorflow 之模型的保存與加載(三)
返回 toc lena time 第二篇 運算 element shape utf 前面的兩篇博文 第一篇:簡單的模型保存和加載,會包含所有的信息:神經網絡的op,node,args等; 第二篇:選擇性的進行模型參數的保存與加載。 本篇介紹,只保存和加載神經網絡的計算圖,即
撩課-Java-Intellij Idea熱部署專案與匯入Eclipse專案
熱部署專案 什麼是熱部署 程式碼發生變化時, 不需要重新啟動伺服器 安裝jrebel外掛 讓專案支援jrebel 匯入Eclipse專案 1.把Eclipse專案複製一份,放到自己指定的位置 2.開啟Idea,在進入工程前選擇,inmport Pro
撩課-Java-Intellij Idea安裝lombok外掛與建立web專案
安裝lombok外掛 新增jar包方式 給idea安裝一個外掛 第一步: 第二步: 啟用註解 建立web專案 開啟idea時新增外掛 把javaEE的外掛都新增上去 重啟後,建立新的工程 配置tomcat伺服器
梯度下降之隨機梯度下降 -minibatch 與並行化方法
問題的引入: 考慮一個典型的有監督機器學習問題,給定m個訓練樣本S={x(i),y(i)},通過經驗風險最小化來得到一組權值w,則現在對於整個訓練集待優化目標函式為: 其中為單個訓練樣本(x(i),y(i))的損失函式,單個樣本的損失表示如下: 引入L2正則,即在損失函式中引入,那麼最終的損失為
程式碼之美——《重構》、《程式碼整潔之道》
什麼樣的程式碼才是美的程式碼?一千個coders可能會給出一千個答案。今天,讓我從一個簡單的角度來談談對於程式碼之美的理解。 可讀性高的程式碼才有可能是美的程式碼 相信大家都有過這樣的經歷:接手一個專案要修復bug或者