1、簡單描述jdbc
(1)、jdbc的執行過程
(2)jdbc的三種執行器(也不叫執行器,可以叫做執行計畫)
a、preparestatement預編譯,預編譯指的是db的編譯器,會對此sql語句提前編譯。然後將預編譯的sql語句快取起來,下次執行時,直接通過設定值的方式,執行語句。(都是資料庫做的)
b、statement是每次都需要資料庫編譯器編譯,然後進行查詢。
c、callable statement對應儲存過程。可以設定出參和讀取入參。
d、當執行批處理時,statement的優點是可以一次傳送多條不同的靜態sql。preparestatement的優點是當執行同一條語句設定不同的引數時,可以一次性完成。
(3)、sql注入簡單描述
preparestatement向資料庫傳送的語句是預編譯之後的語句以及需要傳入的引數。傳送到資料後資料庫進行引數轉義,解析處理。從而防止sql注入。
statement傳入的是拼裝好的sql語句,因此資料庫會直接編譯執行,傳送注入風險。
2、jdbc**例項:
public void jdbctest() throws sqlexceptionresultset.close();
sql1.close();;
}
對遞迴執行過程的簡單描述
include void fun int n int main 輸出結果為 分析1 主函式呼叫fun 1 2 此時n的值為1,隨即輸出第一行,並得到n的位址並將其抽象為aaaa 3 判斷,1 3,執行遞迴語句,重新執行fun函式 4 由於傳遞引數為n 1,所以本層n的值為2,隨即輸出第二行,並得到n...
Mybatis三種執行器
配置預設的執行器 設定名描述有效值 預設值defaultexecutortype 就是普通的執行器 reuse 執行器會重用預處理語句 preparedstatement batch 執行器不僅重用語句還會執行批量更新 reuse batch org.apache.ibatis.session.ex...
MyBatis入門程式執行原理簡單分析
public static void main string args throws ioexceptionmybatis根據sqlmapconfig.xml檔案建立sqlsessionfactory,sqlsessionfactory再根據配置,獲取乙個sqlsession。sqlsession包...