原创 索引的底層結構以及使用

文章目錄索引的創建和刪除索引的分類索引的底層結構(以InnoDB的索引結構爲例)SQL 的查表操作索引的使用索引的設計要求使用索引的注意事項 前言 索引是一種提高查詢效率的數據結構(B樹或者是哈希結構)索引是創建在數據庫表中,是對

原创 MYSQL的注入式錯誤

sql注入式錯誤(SQL injection) SQL Injection 就是利用某些數據庫的外部接口將用戶數據插入到實際的數據庫操作語言(SQL)當中,從而達到入侵數據庫乃至操作系統的目的。它的產生主要是由於程序對用戶輸入的

原创 explain關鍵字

explain 關鍵字可以查看SQL語句執行的情況 使用 explain + SQL 語句 參數值 含義 id 表示SELECT語句的編號 select_type 表示SELECT語句的類型該參數有幾個常用的取值

原创 Mybatis學習(四)——Association 查詢和Collection 查詢

文章目錄一、ResultMap二、Association 查詢三、Collection 查詢四、分步查詢 場景 有一個學生類和一個部門類,一個學生屬於一個部門,一個部門擁有多個學生。 在前面我們學生類的基礎上給它加一個部門的屬性

原创 Mybatis 學習(三)——動態SQL

文章目錄1、if 標籤2、where 標籤3、trim 標籤4、choose 標籤5、foreach 標籤6、兩個內置參數7、bind8、sql 標籤和include標籤 如果我們有複雜的業務,我們需要更復雜的SQL語句,往往需要

原创 亂七八糟

原创 Spring學習(三)——在Spring中使用JDBC

寫過 JDBC 代碼的人都懂,當需要操作數據庫的時候,我們需要寫一堆模板式的代碼,除了核心的一兩句代碼,其它代碼一模一樣。 Spring 簡化了這些操作,它把那些模板式的代碼都封裝起來了。jdbcTemplate就是是屬於dao層

原创 Spring 學習(一)——裝配Bean

文章目錄XML 方式裝配Bean一、實例化 javaBean二、屬性注入三、使用Spring 表達式語言進行裝配(SpEL)註解裝配Bean一、裝配Bean二、注入屬性整合多個Spring 文件自動裝配 前言 Spring 是一個

原创 Spring 學習(二)——面向切面編程AOP

文章目錄一、AOP的相關術語二、Spring 中AOP的實現1.通過XML配置實現AOP2.通過註解實現AOP三、總結 前言 什麼是AOP? 軟件中,有些行爲對於大多數應用都是通用的,但卻不是應用重點關注的問題。AOP可以將這些應

原创 mybatis 學習(六)——緩存機制

文章目錄一、一級緩存二、二級緩存 mybatis提供查詢緩存,用於減輕數據壓力,提高數據庫性能。 mybaits提供一級緩存,和二級緩存。 一級緩存是SqlSession級別的緩存。在操作數據庫時需要構造 sqlSession對象

原创 Mybatis 學習(七)——逆向工程

mybatis需要程序員自己編寫sql語句,mybatis官方提供逆向工程,可以針對單表自動生成mybatis執行所需要的代碼(mapper.java、mapper.xml、pojo…),可以讓程序員將更多的精力放在繁雜的業務邏輯

原创 MySQL學習(一)——常用SQL語句

文章目錄一、什麼是MYSQL二、MYSQL 語言類別劃分三、常用SQL語句 一、什麼是MYSQL MYSQL 屬於數據庫的一種,mysql 目前屬於Oracle甲骨文公司,mysql 稱之爲關係型數據庫、同樣爲關係型數據庫的還有微

原创 Mybatis 學習(五)——延遲加載與分步查詢

文章目錄一、分步查詢二、延時加載 本篇博客主要講的是延遲加載,也叫懶加載,但是懶加載往往與分佈查詢同時使用,作爲背景知識我們也介紹一下分佈查詢 一、分步查詢 分佈查詢通常應用於關聯表查詢,通常我們關聯查詢是進行多表聯合查詢,分佈查

原创 Mybatis學習(一)——概述

一、什麼是Mybatis MyBatis 是一款優秀的持久層框架,它支持定製化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。MyBatis 可以使用簡單的 XML 或

原创 Mybatis學習(二)——動態代理源碼分析

Mybatis 之所以不用我們自己實現接口的實例,根本原因就在於它採用了反射機制以及動態代理來代理我們的接口。 一、什麼是動態代理 代理是一種模式,提供了對目標對象的間接訪問方式,即通過代理訪問目標對象。如此便於在目標實現的基礎