關于我們
書單推薦
新書推薦
|
Java EE輕量級框架應用實戰(zhàn)——SSM框架(Spring MVC+Spring+MyBatis)(第2版) 讀者對象:本書既可以作為高等院校本、?朴嬎銠C相關專業(yè)的程序設計教材,又可以作為Java 技術的培訓教材,適合廣大編程愛好者閱讀與使用。
本書對第1 版進行了更新和修訂,詳細講解了Java EE 輕量級框架中使用最多的SSM框架,即Spring MVC、Spring 和MyBatis 的基本知識和應用。隨著互聯(lián)網(wǎng)的迅猛發(fā)展,SSM 框架被越來越多地應用于企業(yè)級開發(fā)中,其發(fā)展勢頭已經(jīng)超過大部分Java Web 框架,穩(wěn)居榜首。本書以實用性為原則,在重點講解SSM 框架在企業(yè)開發(fā)中常用的核心技術的同時,分別講解了Spring MVC、Spring 和MyBatis 的精髓內(nèi)容,以課堂實錄的方式,理論結合實踐,邊講邊練。此外,作者在本書中還使用SSM 框架改造了經(jīng)典項目,力求通過項目的實現(xiàn)加深讀者對SSM 框架的理解和掌握程度。 本書提供配套完善的學習資源和支持服務,包括電子教案(PPT)、案例素材、源代碼、上機練習與課后作業(yè)參考答案、教學設計、教學大綱等,為讀者帶來全方位的學習體驗,讀者可以在華信教育資源網(wǎng)(www.hxedu.com.cn)上免費下載。 本書既可以作為高等院校本、?朴嬎銠C相關專業(yè)的程序設計教材,又可以作為Java 技術的培訓教材,適合廣大編程愛好者閱讀與使用。
石毅,擁有多年軟件開發(fā)從業(yè)與教育培訓經(jīng)驗,熟悉Java開發(fā)企業(yè)級應用、Android應用開發(fā)、Web前端設計,負責Java軟件開發(fā)方向課程教學工作,主講Java、HTML、CSS、JavaScript、jQuery、MySQL、SQL Server、Oracle 數(shù)據(jù)庫、JavaWEB開發(fā)、SSM框架、SSH框架、微服務開發(fā)等課程。常受邀到各大高校擔任軟件開發(fā)相關課程教學,教學風格幽默風趣、工作態(tài)度認真負責、深受廣大學生喜歡。出版《Java語言編程基礎》《動態(tài)網(wǎng)頁設計與開發(fā)——JavaScript+jQuery》等多本圖書。
第1 章 初識MyBatis ................................................................................................................ 1
1.1 框架簡介 ................................................................................................................................ 1 1.1.1 為什么使用框架 ................................................................................................................. 1 1.1.2 框架的概念 ......................................................................................................................... 2 1.1.3 框架的優(yōu)勢 ......................................................................................................................... 3 1.1.4 主流框架的介紹 ................................................................................................................. 3 1.2 MyBatis 簡介 ........................................................................................................................... 4 1.2.1 數(shù)據(jù)持久化的概念 ............................................................................................................. 4 1.2.2 傳統(tǒng)的JDBC 的劣勢 .......................................................................................................... 5 1.2.3 ORM 框架 ........................................................................................................................... 5 1.2.4 Hibernate 與MyBatis 的區(qū)別 ............................................................................................. 6 1.3 MyBatis 環(huán)境的搭建與MyBatis 的入門程序 ....................................................................... 6 1.3.1 MyBatis 環(huán)境的搭建 ........................................................................................................... 6 1.3.2 MyBatis 的入門程序 ......................................................................................................... 10 1.3.3 MyBatis 的優(yōu)點、缺點及適用場合 ................................................................................. 13 1.3.4 技能訓練 ........................................................................................................................... 14 1.4 MyBatis 的基礎操作 ............................................................................................................. 14 1.4.1 查詢用戶信息 ................................................................................................................... 14 1.4.2 技能訓練1 ........................................................................................................................ 18 1.4.3 添加用戶信息 ................................................................................................................... 18 1.4.4 更新用戶信息 ................................................................................................................... 20 1.4.5 刪除用戶信息 ................................................................................................................... 22 1.4.6 技能訓練2 ........................................................................................................................ 23 1.5 MyBatis 的工作原理 ............................................................................................................. 24 第2 章 MyBatis 的核心配置 ....................................................................................................27 2.1 MyBatis 的核心接口和類 ..................................................................................................... 27 2.1.1 SqlSessionFactoryBuilder .................................................................................................. 28 2.1.2 SqlSessionFactory .............................................................................................................. 28 2.1.3 SqlSession .......................................................................................................................... 30 2.1.4 應用案例——查詢用戶信息 ............................................................................................ 32 2.1.5 技能訓練 ........................................................................................................................... 34 2.2 MyBatis 的核心配置文件 ..................................................................................................... 35 2.2.1 mybatis-config.xml ............................................................................................................ 35 2.2.2 技能訓練 ........................................................................................................................... 43 2.3 MyBatis 的映射文件 ............................................................................................................. 44 2.3.1 映射文件中的主要元素 .................................................................................................... 44 2.3.2 <select>元素 ...................................................................................................................... 44 2.3.3 <insert>元素 ...................................................................................................................... 45 2.3.4 <update>元素和<delete>元素 ........................................................................................... 46 2.3.5 <sql>元素 .......................................................................................................................... 47 2.3.6 <resultMap>元素 ............................................................................................................... 48 2.3.7 技能訓練 ........................................................................................................................... 49 2.4 使用接口實現(xiàn)條件查詢 ........................................................................................................ 49 2.4.1 使用<select>元素實現(xiàn)單條件查詢 .................................................................................. 49 2.4.2 使用<select>元素實現(xiàn)多條件查詢 .................................................................................. 50 2.4.3 實現(xiàn)查詢結果的展示 ........................................................................................................ 53 2.4.4 技能訓練 ........................................................................................................................... 58 2.5 使用接口實現(xiàn)添加、更新、刪除 ........................................................................................ 59 2.5.1 使用<insert>元素實現(xiàn)添加 .............................................................................................. 59 2.5.2 使用<update>元素實現(xiàn)更新 ............................................................................................. 60 2.5.3 使用@Param 注解實現(xiàn)多個參數(shù)入?yún)?............................................................................. 61 2.5.4 使用<delete>元素實現(xiàn)刪除 .............................................................................................. 62 2.5.5 技能訓練 ........................................................................................................................... 63 第3 章 動態(tài)SQL 語句 ............................................................................................................ 66 3.1 動態(tài)SQL 語句主要元素 ...................................................................................................... 66 3.2 使用動態(tài)SQL 語句實現(xiàn)多條件查詢 ................................................................................... 67 3.2.1 使用<if>+<where>元素實現(xiàn)多條件查詢......................................................................... 67 3.2.2 技能訓練1......................................................................................................................... 72 3.2.3 使用<if>+<trim>元素實現(xiàn)多條件查詢 ............................................................................ 72 3.2.4 使用<choose>+<when>+<otherwise>元素實現(xiàn)多條件查詢 ........................................... 73 3.2.5 技能訓練2......................................................................................................................... 75 3.3 使用動態(tài)SQL 語句實現(xiàn)更新 .............................................................................................. 75 3.3.1 使用<if>+<set>元素實現(xiàn)更新 .......................................................................................... 75 3.3.2 技能訓練1......................................................................................................................... 78 3.3.3 使用<if>+<trim>元素實現(xiàn)更新 ....................................................................................... 78 3.3.4 技能訓練2 ........................................................................................................................ 78 3.4 使用<foreach>元素實現(xiàn)復雜查詢 ....................................................................................... 79 3.4.1 MyBatis 入?yún)锳rray 類型的<foreach>元素迭代 ......................................................... 79 3.4.2 MyBatis 入?yún)長ist 類型的<foreach>元素迭代 ............................................................ 80 3.4.3 技能訓練1 ........................................................................................................................ 82 3.4.4 MyBatis 入?yún)镸ap 類型的<foreach>元素迭代 ........................................................... 82 3.4.5 技能訓練2 ........................................................................................................................ 84 3.5 使用<bind>元素實現(xiàn)SQL 語句拼接 ................................................................................... 85 第4 章 MyBatis 的關聯(lián)映射 ....................................................................................................88 4.1 關聯(lián)映射 ............................................................................................................................... 88 4.1.1 關聯(lián)關系概述 ................................................................................................................... 88 4.1.2 <resultMap>元素的基本配置項 ....................................................................................... 89 4.2 一對一 .................................................................................................................................. 89 4.2.1 應用案例——身份證號碼和個人信息的一對一關聯(lián) .................................................... 90 4.2.2 應用案例——用戶角色和用戶信息的一對一關聯(lián) ........................................................ 94 4.2.3 技能訓練 ........................................................................................................................... 98 4.3 一對多 .................................................................................................................................. 99 4.3.1 應用案例——用戶角色和用戶信息的一對多關聯(lián) ........................................................ 99 4.3.2 應用案例——商品類型和商品信息的一對多關聯(lián) ...................................................... 101 4.3.3 技能訓練 ......................................................................................................................... 104 4.4 多對多 ................................................................................................................................ 104 4.4.1 應用案例——銷售訂單和訂購商品信息的多對多關聯(lián) .............................................. 104 4.4.2 技能訓練 ......................................................................................................................... 108 4.5 <resultMap>元素自動映射級別 ......................................................................................... 108 第5 章 深入使用MyBatis ...................................................................................................... 111 5.1 MyBatis 插件的應用——實現(xiàn)分頁 .................................................................................... 111 5.1.1 使用SQL 語句實現(xiàn)分頁 ................................................................................................. 112 5.1.2 使用RowBounds 實現(xiàn)分頁 ............................................................................................. 114 5.1.3 使用PageHelper 實現(xiàn)分頁 .............................................................................................. 115 5.1.4 技能訓練 .......................................................................................................................... 119 5.2 MyBatis 的緩存機制 ........................................................................................................... 119 5.2.1 一級緩存 ......................................................................................................................... 120 5.2.2 二級緩存 ......................................................................................................................... 124 5.2.3 技能訓練 ......................................................................................................................... 127 5.3 MyBatis 的常用注解 ........................................................................................................... 128 5.3.1 增刪改查注解的使用 ..................................................................................................... 128 5.3.2 技能訓練1....................................................................................................................... 132 5.3.3 關聯(lián)注解的使用 .............................................................................................................. 132 5.3.4 技能訓練2....................................................................................................................... 135 5.3.5 使用注解實現(xiàn)動態(tài)SQL 語句 ........................................................................................ 135 5.3.6 技能訓練3....................................................................................................................... 140 5.3.7 使用注解實現(xiàn)二級緩存 .................................................................................................. 140 第6 章 初識Spring ................................................................................................................ 144 6.1 Spring 概述 .......................................................................................................................... 144 6.1.1 企業(yè)級應用...................................................................................................................... 144 6.1.2 Spring 的體系結構 .......................................................................................................... 145 6.1.3 Spring 的下載及目錄結構 .............................................................................................. 147 6.1.4 Spring 的優(yōu)點 .................................................................................................................. 148 6.2 Spring 的核心容器 .............................................................................................................. 148 6.2.1 BeanFactory ..................................................................................................................... 148 6.2.2 ApplicationContext .......................................................................................................... 149 6.3 Spring 的入門程序 .............................................................................................................. 150 6.4 DI 與IoC............................................................................................................................. 154 6.4.1 相關概念 ......................................................................................................................... 154 6.4.2 DI 的實現(xiàn)方法 ................................................................................................................ 154 6.4.3 理解IoC .......................................................................................................................... 156 6.4.4 技能訓練1....................................................................................................................... 158 6.4.5 深入使用DI .................................................................................................................... 159 6.4.6 技能訓練2....................................................................................................................... 161 第7 章 Spring Bean ................................................................................................................ 164 7.1 Bean 的配置 ......................................................................................................................... 164 7.2 Bean 的實例化 ..................................................................................................................... 165 7.2.1 構造器實例化 .................................................................................................................. 166 7.2.2 靜態(tài)工廠方式實例化 ...................................................................................................... 167 7.2.3 實例工廠方式實例化 ...................................................................................................... 168 7.2.4 技能訓練 ......................................................................................................................... 169 7.3 Bean 配置方式——基于XML 的配置 .............................................................................. 170 7.3.1 常用DI 的方式 ............................................................................................................... 170 7.3.2 技能訓練1....................................................................................................................... 173 7.3.3 使用p 命名空間實現(xiàn)屬性setter 方法注入 ................................................................... 174 7.3.4 技能訓練2....................................................................................................................... 175 7.3.5 注入不同數(shù)據(jù)類型 .......................................................................................................... 175 7.4 Bean 配置方式——基于注解的配置 ................................................................................. 178 7.4.1 使用注解定義Bean ........................................................................................................ 178 7.4.2 使用注解實現(xiàn)Bean 的配置 ........................................................................................... 179 7.4.3 加載注解定義的Bean .................................................................................................... 180 7.4.4 技能訓練1 ...................................................................................................................... 181 7.4.5 使用Java 標準注解完成Bean 的配置 .......................................................................... 182 7.4.6 技能訓練2 ...................................................................................................................... 183 7.5 Bean 配置方式——自動配置 ............................................................................................. 183 7.6 Bean 的作用域 .................................................................................................................... 185 7.6.1 作用域的種類 ................................................................................................................. 185 7.6.2 singleton .......................................................................................................................... 185 7.6.3 prototype .......................................................................................................................... 186 7.6.4 使用注解指定Bean 的作用域 ....................................................................................... 186 7.7 Bean 的生命周期 ................................................................................................................ 187 第8 章 Spring AOP ............................................................................................................... 190 8.1 Spring AOP 概述 ................................................................................................................. 190 8.1.1 AOP 簡介 ........................................................................................................................ 190 8.1.2 AOP 術語 ........................................................................................................................ 192 8.2 動態(tài)代理 ............................................................................................................................. 193 8.2.1 JDK 動態(tài)代理 ................................................................................................................. 193 8.2.2 CGLIB 動態(tài)代理 ............................................................................................................ 196 8.2.3 技能訓練 ......................................................................................................................... 197 8.3 基于代理類的AOP 實現(xiàn) .................................................................................................... 198 8.3.1 Spring 的增強處理類型 .................................................................................................. 198 8.3.2 ProxyFactoryBean ........................................................................................................... 198 8.3.3 技能訓練 ......................................................................................................................... 200 8.4 基于XML 的聲明式AspectJ ............................................................................................. 200 8.4.1 <aop:config>元素及其子元素 ........................................................................................ 201 8.4.2 常用<aop:config>元素的使用 ........................................................................................ 201 8.4.3 技能訓練 ......................................................................................................................... 207 8.4.4 常用的增強處理類型 ..................................................................................................... 207 8.5 基于注解的聲明式AspectJ ................................................................................................ 208 8.5.1 AspectJ 的注解 ................................................................................................................ 208 8.5.2 使用注解標注切面 ......................................................................................................... 209 8.5.3 技能訓練 ......................................................................................................................... 212 8.5.4 Spring 的切面配置小結 .................................................................................................. 212 第9 章 Spring 的數(shù)據(jù)庫開發(fā)及事務管理 ............................................................................... 214 9.1 Spring JDBC ........................................................................................................................ 214 9.1.1 Spring JdbcTemplate 類的解析 ....................................................................................... 214 9.1.2 Spring JDBC 的配置 ...................................................................................................... 215 9.2 Spring JdbcTemplate 類的常用方法 ................................................................................... 216 9.2.1 execute()方法 ................................................................................................................... 216 9.2.2 update()方法 .................................................................................................................... 219 9.2.3 query()方法 ...................................................................................................................... 223 9.2.4 技能訓練 ......................................................................................................................... 225 9.3 Spring 事務管理概述 .......................................................................................................... 226 9.3.1 事務管理的核心接口 ...................................................................................................... 226 9.3.2 事務管理的方式 .............................................................................................................. 228 9.4 聲明式事務管理 .................................................................................................................. 228 9.4.1 基于XML 的聲明式事務管理 ....................................................................................... 228 9.4.2 技能訓練1....................................................................................................................... 232 9.4.3 基于注解的聲明式事務管理 .......................................................................................... 232 9.4.4 技能訓練2....................................................................................................................... 235 第10 章 初識Spring MVC ..................................................................................................... 237 10.1 Spring MVC 概述 .............................................................................................................. 237 10.1.1 MVC 設計模式.............................................................................................................. 237 10.1.2 Spring MVC 簡介 .......................................................................................................... 239 10.2 Spring MVC 的應用 .......................................................................................................... 240 10.2.1 入門項目 ....................................................................................................................... 240 10.2.2 技能訓練1 ..................................................................................................................... 245 10.2.3 優(yōu)化項目 ....................................................................................................................... 245 10.2.4 技能訓練2 ..................................................................................................................... 248 10.3 Spring MVC 的工作流程與特點 ...................................................................................... 249 10.3.1 Spring MVC 的請求處理流程 ...................................................................................... 249 10.3.2 Spring MVC 的工作原理 .............................................................................................. 249 10.3.3 Spring MVC 的特點 ...................................................................................................... 251 10.4 Spring MVC 的核心類與常用注解 .................................................................................. 252 10.4.1 DispatcherServlet ........................................................................................................... 252 10.4.2 @Controller 注解........................................................................................................... 252 10.4.3 @RequestMapping 注解 ................................................................................................ 253 10.4.4 應用案例——基于注解的Spring MVC 的應用 .......................................................... 257 10.4.5 視圖解析器 .................................................................................................................... 258 第11 章 Spring MVC 數(shù)據(jù)綁定與交互 .................................................................................. 261 11.1 數(shù)據(jù)綁定概述 .................................................................................................................... 261 11.2 簡單數(shù)據(jù)綁定 .................................................................................................................... 262 11.2.1 參數(shù)傳遞(View to Controller) .................................................................................. 262 11.2.2 參數(shù)傳遞(Controller to View) .................................................................................. 272 11.2.3 技能訓練 ....................................................................................................................... 276 11.3 復雜數(shù)據(jù)綁定 .................................................................................................................... 276 11.3.1 自定義數(shù)據(jù)綁定 ........................................................................................................... 276 11.3.2 Array 綁定 ..................................................................................................................... 279 11.3.3 集合綁定 ....................................................................................................................... 281 11.4 JSON 數(shù)據(jù)交互 ................................................................................................................. 283 11.4.1 JSON 概述 ..................................................................................................................... 283 11.4.2 JSON 數(shù)據(jù)轉換 ............................................................................................................. 284 11.4.3 解決JSON 數(shù)據(jù)交互的常見問題 ................................................................................ 290 11.4.4 技能訓練 ....................................................................................................................... 293 11.5 REST 風格 ......................................................................................................................... 293 11.5.1 REST 風格概述 ............................................................................................................. 293 11.5.2 應用案例——用戶信息查詢 ........................................................................................ 294 11.5.3 技能訓練 ....................................................................................................................... 296 第12 章 深入使用Spring MVC ............................................................................................. 298 12.1 文件上傳............................................................................................................................ 298 12.1.1 文件上傳概述 ............................................................................................................... 298 12.1.2 應用案例——文件上傳 ................................................................................................ 300 12.1.3 技能訓練 ....................................................................................................................... 304 12.2 文件下載............................................................................................................................ 304 12.2.1 應用案例——文件下載 ................................................................................................ 304 12.2.2 應用案例——文件名為中文的文件下載 .................................................................... 305 12.2.3 技能訓練 ....................................................................................................................... 307 12.3 攔截器 ............................................................................................................................... 307 12.3.1 攔截器概述 ................................................................................................................... 307 12.3.2 攔截器的執(zhí)行流程 ....................................................................................................... 309 12.3.3 應用案例——用戶登錄權限驗證 ................................................................................ 313 12.3.4 技能訓練 ....................................................................................................................... 317 12.4 異常處理............................................................................................................................ 317 12.4.1 使用SimpleMappingExceptionResolver ...................................................................... 317 12.4.2 自定義ExceptionResolver ............................................................................................ 320 12.4.3 使用@ControllerAdvice 注解 ....................................................................................... 323 12.4.4 技能訓練 ....................................................................................................................... 324 第13 章 SSM 框架整合 ......................................................................................................... 327 13.1 SSM 框架整合思路 ........................................................................................................... 327 13.2 XML 文件整合SSM 框架 ................................................................................................ 328 13.2.1 搭建項目基礎結構 ........................................................................................................ 328 13.2.2 整合Spring 和MyBatis ................................................................................................ 333 13.2.3 整合Spring 和Spring MVC ......................................................................................... 335 13.3 純注解整合SSM 框架 ...................................................................................................... 338 13.3.1 使用純注解實現(xiàn)SSM 框架整合思路 .......................................................................... 338 13.3.2 使用純注解實現(xiàn)SSM 框架整合 .................................................................................. 338 第14 章 百貨中心供應鏈管理系統(tǒng) ........................................................................................ 343 14.1 項目介紹 ............................................................................................................................ 343 14.2 需求分析 ............................................................................................................................ 344 14.2.1 功能模塊需求分析 ........................................................................................................ 344 14.2.2 非功能模塊需求分析 .................................................................................................... 344 14.3 系統(tǒng)設計 ............................................................................................................................ 345 14.3.1 系統(tǒng)架構介紹 ................................................................................................................ 345 14.3.2 系統(tǒng)模塊介紹 ................................................................................................................ 346 14.3.3 系統(tǒng)架構設計 ................................................................................................................ 346 14.3.4 文件組織結構介紹 ........................................................................................................ 347 14.3.5 系統(tǒng)開發(fā)環(huán)境介紹 ........................................................................................................ 347 14.3.6 數(shù)據(jù)庫設計 .................................................................................................................... 347 14.4 系統(tǒng)環(huán)境搭建 .................................................................................................................... 354 14.4.1 需要引入的依賴 ............................................................................................................ 354 14.4.2 數(shù)據(jù)庫資源準備 ............................................................................................................ 357 14.4.3 項目環(huán)境準備 ................................................................................................................ 357 14.5 應用案例——實現(xiàn)用戶登錄模塊的功能 ......................................................................... 361 14.6 應用案例——實現(xiàn)用戶管理模塊的功能 ......................................................................... 365 14.6.1 根據(jù)用戶名和用戶權限查詢用戶信息 ........................................................................ 365 14.6.2 添加用戶信息 ................................................................................................................ 368 14.6.3 根據(jù)id 查詢用戶信息 ................................................................................................... 371 14.6.4 更新用戶信息 ................................................................................................................ 373 14.6.5 刪除用戶信息 ................................................................................................................ 376 14.7 技能訓練 ............................................................................................................................ 378
你還可能感興趣
我要評論
|