问题描述
- sql语句in的用法,在mybatis中sql中in是怎么用的
-
SELECT a.smid,a.smx,a.smy,a.NAME FROM BusPoint a , BusPointline b
WHERE a.StopID = b.BusPointID AND a.smid in (133,132);在mybatis框架中,上面的sql语句如何编写?
在mybatis框架中,sql中in是怎么用的?那位大神知道~~~
解决方案
导读: select * from txt1 select * from txt2 select * from txt1 where name in (select name from txt2 where chk = 0) select * from txt1 where name not in (select name from txt2 where chk = 0) select * fro......
答案就在这里:Sql语句中IN等方面的用法
解决方案二:
SQL中怎么写,MyBatis 的mapper.xml就怎么写。两者是没有区别的。
你问的应该是in中的值是变量的情况下要怎么写吧。可以参考下面的
···
List selectByIn(List smids)
xml
select * from BusPoint where smid in
#{smid}
···
解决方案三:
SQL中怎么写,MyBatis 的mapper.xml就怎么写。两者是没有区别的。
你问的应该是in中的值是变量的情况下要怎么写吧。可以参考下面的
List<BusPoint > selectByIn(List<Integer> smids)
xml
select * from BusPoint where smid in
<select id="selectByIn"
<foreach collection="smids" item="smid" index="index" open="(" separator="," close=")">
#{smid}
</foreach>
</select>
解决方案四:
有两种方式:
第一种为楼上所写,将in中的参数以数组或集合方式传入,xml中的select 用foreach
第二种:参数为字符串,List selectByIn(String ids);
xml
SELECT a.smid,a.smx,a.smy,a.NAME FROM BusPoint a , BusPointline b
WHERE a.StopID = b.BusPointID AND a.smid in (${ids});
注:$没有防sql注册