原创 IOC(控制反轉)和DI(依賴注入)

1.IOC(控制反轉) IOC(Inversion of Control)–即控制反轉,這是spring的核心,是面向對象編程中的一種設計原則,可以用來降低計算機的耦合程度。其中最常見的方式有依賴注入(Dependency Inj

原创 Exception Servlet.init() for servlet [mvc] threw exception

Root Cause org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from c

原创 MyBatis基本概念

來,先入個門 1.概述 mybatis是一個優秀的基於 java 的持久層框架,它內部封裝了 jdbc,使開發者只需要關注 sql 語句本身,而不需要花費精力去處理加載驅動、創建連接、創建statement 等繁雜的過程。 myb

原创 MyBatis和Spring整合之mapper映射方式

A.步驟 自定義接口IUserDao 定義IUserDao.xml 將IUserDao接口和IUserDao.xml放到IUserDao接口的包下 將MapperFactoryBean注入到spring容器,設置參數mapper

原创 Mybatis連接池

在Mybatis中也有連接池技術,但是它採用的是自己的連接池技術。在 Mybatis 的 SqlMapConfig.xml配置文件中,通過 <dataSourcetype=“pooled”> 來實現Mybatis 中連接池的配置。

原创 mybatis中的一對一延遲加載實現

使用前提 需要在sqlMapConfig.xml配置文件中開啓延遲加載 <settings> <setting name="lazyLoadingEnabled" value="true"/> </settings> 需求

原创 回顧死鎖

死鎖產生的原因及四個必要條件 產生死鎖的原因主要是: (1) 因爲系統資源不足。 (2) 進程運行推進的順序不合適。 (3) 資源分配不當等。 如果系統資源充足,進程的資源請求都能夠得到滿足,死鎖出現的可能性就很低,否則就會因爭奪

原创 Spring和Web集成方案總結

1,Spring和Web集成方案一 Servlet中的doGet方法中,初始化Spring容器 存在的問題:處理一次請求就會初始化一次spring容器 2,Spring和Web集成方案二 加入了一個監聽器,ServletConte

原创 函數式接口

只有一個抽象方法的接口就叫函數式接口 @FunctionalInterface來標註函數式接口 基本使用 1,函數式接口作爲方法的參數,且函數式接口中的方法沒有參數 2,函數式接口作爲方法的參數,且函數式接口的方法中有參數 3,函

原创 Controller方法返回值之ModelAndView

ModelAndView對象是Spring提供的一個對象 可以用來調整具體的JSP視圖,也可以存儲數據 @RequestMapping("/selectUserList") public ModelAndView selectU

原创 多表查詢練習

1.多表聯繫 練習 1.查出至少有一個員工的部門。顯示部門編號、部門名稱、部門位置、部門人數。 2.列出所有員工的姓名及其直接上級的姓名。 3.列出受僱日期早於直接上級的所有員工的編號、姓名、部門名稱。 4.列出部門名稱和這

原创 關聯查詢之一對一查詢

A.環境搭建 CREATE TABLE orders(orderId BIGINT PRIMARY KEY AUTO_INCREMENT,customerNo BIGINT ,state VARCHAR(40)); CREATE

原创 MyBatis的配置文件解釋

properties(屬性) settings(設置) typeAliases(類型別名) typeHandlers(類型處理器) objectFactory(對象工廠) plugins(插件) environments(環境配置

原创 聲明式事務概念及入門

1.思路分析: 將編程式事務中的通用代碼抽取出來,製作成獨立的around通知使用AOP工作原理,將事 務管理的代碼動態織入到原始方法中。由於該功能使用量較大,Spring已經將該通知製作完畢。 2.開發步驟: a.開啓事務tx

原创 Spring的JdbcTemplate模板類

A.Spring提供有DAO支持模板類,功能類似於Apache 的DbUtils. B.常用API public int update(String sql, Object... args) 執行DML語句.增、刪、改語句 p