MyBatis2深入了解

2021-09-26 09:08:44 字數 2783 閱讀 6813

3.測試的完成

二.高階查詢

三.關係配置(重難點)

1.多對一

1.1 domain準備

1.2 關係對映 - 巢狀結果

1.3 關係對映 - 巢狀查詢

2.一對多的配置

2.1 相應的domain準備

2.2 巢狀結果

2.3 - 巢狀查詢

四.ssm三大框架整合

4.1 導包

4.2 jdbc.properties

擴充套件 多對一對映的野方法

一對多分頁的坑

我們只需要寫介面,實現由mybatis自己完成

xml中的命名空間與介面的全限定名一致

介面中的方法名與xml的sql的id一致

...employee findone(long id);

//@select("select * from employee") : 太複雜的解決不了

listfindall();

}

<?xml version="1.0" encoding="utf-8" ?>

3.測試的完成

@test

//1.拿到session物件

sqlsession session = mybatisutils.opensession();

//3.直接執行方法

system.out.println(employee);

session.close();

}

結構如下圖

二.高階查詢

模糊查詢使用concat concat("%",#,"%")

特殊字元使用轉義或者cdata段

< 代表小於

每個條件都需要if判斷(有這個條件才進行過濾)

`在過濾前加上 where, 把第乙個and替換成where

如果遇到重複的sql,可以使用 sql標籤把它把抽出來

<?xml version="1.0" encoding="utf-8" ?>

and name like concat("%",#,"%")

and age >= #

三.關係配置(重難點)

1.多對一

1.1 domain準備

product

public class product

select * from t_product

2.一對多的配置

2.1 相應的domain準備

product

public class product

2.2 巢狀結果

<?xml version="1.0" encoding="utf-8" ?>
select dir.id,dir.name,p.id pid,p.name pname from t_productdir dir left join t_product p

on p.dir_id = dir.id

2.3 - 巢狀查詢

<?xml version="1.0" encoding="utf-8" ?>
select * from t_product where dir_id = #

select * from t_productdir

四.ssm三大框架整合

①.導包

②.基本結構搭建

③.整合步驟

spring的包,spring的依賴包,springmvc的包(json支援包),mybatis的包,mybatis與spring的整合包 image
4.2 jdbc.properties

jdbc.driverclassname=com.mysql.jdbc.driver

jdbc.url=jdbc:mysql:///mybatis

jdbc.username=root

jdbc.password=123456

<?xml version="1.0" encoding="utf-8"?>

cn.itsource.ssm.domain

cn.itsource.ssm.query

擴充套件

多對一對映的野方法

<?xml version="1.0" encoding="utf-8" ?>

select p.id,p.name,dir.id did,dir.name dname from t_product p

left join t_productdir dir

on dir.id = p.dir_id

一對多分頁的坑

如果需要分頁,使用巢狀查詢的方式,先用一條sql查詢到一方【分頁是有效果的】,然後再傳送sql單獨查多方

深入了解A

一 前言 在這裡我將對a 演算法的實際應用進行一定的 並且舉乙個有關a 演算法在最短路徑搜尋的例子。值得注意的是這裡並不對a 的基本的概念作介紹,如果你還對a 演算法不清楚的話,請看姊妹篇 初識a 演算法 這裡所舉的例子是參考amit主頁中的乙個源程式,使用這個源程式時,應該遵守一定的公約。二 a ...

深入了解A

一 前言 在這裡我將對a 演算法的實際應用進行一定的 並且舉乙個有關a 演算法在最短路徑搜尋的例子。值得注意的是這裡並不對a 的基本的概念作介紹,如果你還對a 演算法不清楚的話,請看姊妹篇 初識a 演算法 這裡所舉的例子是參考amit主頁中的乙個源程式,使用這個源程式時,應該遵守一定的公約。二 a ...

深入了解 MyBatis 原始碼解析(一)

之前在接觸mybatis的時候,就覺得這個技術的思想很新穎,要實現這些功能並不難,但是如何實現,以及mybatis的整體架構卻是我遠遠不及的。而mybatis依然將這些功能非常優雅的實現了。mybatis 模組分析 這裡,我們先簡單的劃分一下mybatis的功能模組。配置解析 mybatis使用的是...