原创 (Java)leetcode-1302 Deepest Leaves Sum(層數最深葉子節點的和)

題目描述 給你一棵二叉樹,請你返回層數最深的葉子節點的和。 示例: 輸入:root = [1,2,3,4,5,null,6,7,null,null,null,null,8] 輸出:15 提示: 樹中節點數目在 1 到 10^4

原创 Spring + SpringMVC + MyBatis整合案例

目錄一、搭建整合環境1. 整合說明2. 整合思路3. 創建數據庫和表結構4. 創建maven工程5. 編寫實體類6. 編寫dao接口7.編寫service接口和實現類二、配置Spring框架三、Spring整合SpringMVC

原创 SpringMVC的異常處理與攔截器

目錄SpringMVC的異常處理1.自定義異常類2.自定義異常處理器3.配置異常處理器4.異常頁面SpringMVC的攔截器1.自定義攔截器2.配置攔截器 本文源碼:異常處理 本文源碼:攔截器 SpringMVC的異常處理 系統中

原创 (Java)leetcode-297 Serialize and Deserialize Binary Tree (二叉樹的序列化與反序列化)

題目描述 序列化是將一個數據結構或者對象轉換爲連續的比特位的操作,進而可以將轉換後的數據存儲在一個文件或者內存中,同時也可以通過網絡傳輸到另一個計算機環境,採取相反方式重構得到原數據。 請設計一個算法來實現二叉樹的序列化與反序列化

原创 (Java)leetcode-987 Vertical Order Traversal of a Binary Tree(二叉樹的垂序遍歷)

題目描述 給定二叉樹,按垂序遍歷返回其結點值。 對位於 (X, Y) 的每個結點而言,其左右子結點分別位於 (X-1, Y-1) 和 (X+1, Y-1)。 把一條垂線從 X = -infinity 移動到 X = +infini

原创 MySQL優化(一):MySQL架構與SQL執行流程

目錄一、一條查詢SQL語句是如何執行的?1. 通信協議1.1 通信協議通信類型:同步或異步連接方式: 長連接或者短連接通信協議1.2 通信方式2. 查詢緩存3. 語法解析和預處理(Parser & Preprocessor)3.1

原创 在服務器Linux系統中搭建JavaWeb環境

目錄軟件安裝安裝JDK安裝Tomcat 本文使用的服務器是阿里雲的雲服務器ECS。 軟件安裝 安裝JDK 通過SSH軟件把jdk安裝包(任意版本皆可)傳至指定位置,這裏選擇/home/soft: 將壓縮包解壓至/usr/java

原创 (Java)leetcode-129 Sum Root to Leaf Numbers(求根到葉子節點數字之和)

題目描述 給定一個二叉樹,它的每個結點都存放一個 0-9 的數字,每條從根到葉子節點的路徑都代表一個數字。 例如,從根到葉子節點路徑 1->2->3 代表數字 123。 計算從根到葉子節點生成的所有數字之和。 說明: 葉子節點是指

原创 (Java)leetcode-145 Binary Tree Postorder Traversal (二叉樹的後序遍歷)

題目描述 給定一個二叉樹,返回它的 後序 遍歷。 示例: 輸入: [1,null,2,3] 1 \ 2 / 3 輸出: [3,2,1] 進階: 遞歸算法很簡單,你可以通過迭代算法完成嗎?

原创 Spring的AOP入門

目錄概念一些術語AOP入門Spring基於XML的AOP項目準備基於XML的AOP配置步驟切入點表達式的其他寫法四種常用通知類型環繞通知Spring基於註解的AOP 概念 AOP : Aspect Oriented Progra

原创 Spring入門:IOC和DI (基於XML)

目錄Spring的IOCApplicationContext的三個常用實現類ApplicationContext與BeanFactory的區別Spring管理Bean的細節1.創建Bean的三種方式方式1:默認構造函數創建方式2:

原创 Mybatis的註解方式開發

目錄一、環境搭建與測試二、註解方式的單表CRUD三、註解方式的複雜關係映射屬性與列的對應關係多表查詢一對一一對多四、註解方式使用二級緩存 前面的文章使用的都是XML配置的方式進行開發,當然,Mybatis也可以使用註解的方式進行開

原创 使用Mybatis完成CRUD操作,並從源碼分析執行過程

目錄一、方式1:使用代理DAO插入操作獲取插入數據的id更新操作刪除操作查詢單個模糊查詢聚合查詢二、查詢條件封裝三、查詢結果封裝四、主配置文件中的兩個技巧propertie標籤的使用及細節typeAliases(類型別名)與 pa

原创 Mybatis的多表查詢實例

目錄實例一:用戶和錢包(一對多)1.建表及實體類2.完成wallet一對一查詢操作方式1:子類方式2:建立實體類的關係3.完成user的一對多查詢操作實例二:用戶和角色(多對多)1.建表2.創建實體類和DAO接口、單表映射配置3.

原创 使用Mybatis實現延遲加載

本文是上文 Mybatis的多表查詢實例的擴展。 目錄概念使用association實現延遲加載使用collection實現延遲加載總結 概念 在mybatis的多表操作中,是可以實現查詢A時,一併把其關聯對象B給查出來的操作。