MyBatis的IN条件是查询时常用的一种条件,可以使用foreach()方法来实现。foreach()方法支持以下几种数据类型:集合,数组,字符串,Map。
使用集合作为IN条件时,可以使用foreach()方法,如下:
SELECT * FROM table_name WHERE id IN <foreach collection="list" item="id" open="(" separator="," close=")"> #{id} </foreach>
其中,list为集合类型,id为集合中的元素,open为开头字符,separator为分隔符,close为结尾字符。
使用数组作为IN条件时,可以使用foreach()方法,如下:
SELECT * FROM table_name WHERE id IN <foreach collection="array" item="id" open="(" separator="," close=")"> #{id} </foreach>
其中,array为数组类型,id为数组中的元素,open为开头字符,separator为分隔符,close为结尾字符。
使用字符串作为IN条件时,可以使用foreach()方法,如下:
SELECT * FROM table_name WHERE id IN <foreach collection="str" item="id" open="(" separator="," close=")"> #{id} </foreach>
其中,str为字符串类型,id为字符串中的元素,open为开头字符,separator为分隔符,close为结尾字符。
使用Map作为IN条件时,可以使用foreach()方法,如下:
SELECT * FROM table_name WHERE id IN <foreach collection="map" item="key,value" open="(" separator="," close=")"> #{value} </foreach>
其中,map为Map类型,key,value为Map中的元素,open为开头字符,separator为分隔符,close为结尾字符。
MyBatis的IN条件使用foreach()方法可以方便快捷地实现,支持的数据类型有:集合,数组,字符串,Map,使用时只需要将collection改为对应的数据类型,item改为对应的元素,open,separator,close改为对应的字符即可。
本文链接:http://task.lmcjl.com/news/12375.html