mybatis中in的用法
1. 要根据一个list中所有id来进行查询:public List<CabHistoryAndDevice> findInfoByAdapterIDs(List aidList);
<!-- 根据adapterID查询所有记录 -->
<select id = "findInfoByAdapterIDs" resultType = "com.chemguan.bean.CabHistoryAndDevice">
SELECT
d.i_Type,
d.vc_Name,
h.i_time,
h.i_ControlCode,
h.i_Reason,
h.i_UserType,
h.i_Authorization,
h.AdapterID,
h.UserID
FROM
cab_deviceinfo AS d
INNER JOIN cab_historydata AS h
ON
d.AdapterID=h.AdapterID and d.DeviceID=h.DeviceID and h.AdapterID in
<foreach item="ada" index="index" collection="list" open="(" separator="," close=")">
#{ada.AdapterID}
</foreach>
ORDER BY h.i_time LIMIT 0,10
</select>
其中关键的是
<foreach item="ada" index="index" collection="list" open="(" separator="," close=")">
#{ada.AdapterID}
</foreach>
因为是list,所以collention里就要写list,如果是array,则就要写array。还有就是item表示的就是查询的参数,因为是对象,所以就要获取其属性值,也就是ada.AdapterID,这样进行查询就OK了!!!
2. 还有就是将十位数的时间戳改为正常时间格式:
long time1 = hdList.get(i).getI_time();
String a = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(time1 * 1000));
注意time1必须要是long格式,如果是int格式的话,就会得到错误的时间。
3. 解决跨域的问题:只需在代码中加入一句:
response.setHeader("Access-Control-Allow-Origin", "*");
这样就可以解决跨域问题!!!