mybatis巢狀迴圈map(高階用法)

2021-09-19 15:23:10 字數 1496 閱讀 7776

前言:

mybatis有預設的list,array,但是沒有預設的map。所以不能直接寫collection="map",如果這麼寫,它會當成是根據map.get(「map」)來取value值,大部分情況下是乙個map中是不會有「map」這個key的,於是就是報錯。如果你想用這個「map」標識取引數map,就需要保證傳入的map引數有@param("map")註解。

service,dao的寫法:

//service:

public listgetbymap(map> map)

//dao:

int getbymap(mapmap)

//service直接呼叫dao

int getbymap(@param("paramsmap") mapmap)

xml的寫法:迴圈key:

$ = #    

迴圈values

$ = #    

迴圈獲取key和值:

$ = $    

$ = $

易錯點:表示式抒寫錯誤通常我們設定值的時候,會以#{}的方式,而不是${},如下:

$ = #    

你會發現,取不了值了,$  能取的出值,但# 取出來的值卻實null,正確的寫法應該是:

$ = #]}  

假如引數型別是這麼乙個型別結構: map map = new hashmap>,我想要拼裝出來的sql如下:

select * from 表名

where (

(id = 1 and name in ('小二','小三','小四') or

(id = 2 and name in ('小二','小三','趙六') or

(id = 3 and name in ('小三','王五','王八') or……)

mybatis應該怎麼寫?

第一種寫法:

select * from 表名

where

(id = # and name in#)

select * from 表名

Mybatis中傳入Map巢狀List

mybatis作為現如今最流行的orm框架之一,在開發一些規模不大的的系統中,有著舉足輕重的作用。在這裡我給大家講的是mybatis傳入map巢狀list的乙個案例。首先定義乙個引數型別為hashmap的map。hashmap role permission map newhashmap list ...

Map中巢狀List在Mybatis中的使用方法

有時候我們需要傳遞一堆引數到sql的xml檔案裡面,類似乙個組織id和一堆成員id,map引數類似醬紫的結構 var params 這是在js中的json結構引數在xml檔案中我們該怎麼用呢,由於list的長度不確定,所以我們用foreach迴圈來將list的引數乙個個傳遞進動態sql中 selec...

react 深度 迴圈巢狀物件渲染問題 map

查了一些資料貌似react的迴圈渲染物件只有map,但map只支援陣列物件。接到後台資料如下 b 需要迴圈拿到a b再迴圈拿到 a b裡邊的資料 非同步拿到資料後處理如下 getbrandinfofun async type let carlistarr for let item in result...