1. 程式人生 > >sql中出入一個list,返回一個list

sql中出入一個list,返回一個list

sql遍歷

-----------傳入數組------返回list<string>---------- String[] sendPersonIdArr = sendPersonId.split(","); List<String> list = staffInfoService.ListPhonesByIds(sendPersonIdArr); <!-- 通過userIds查詢員工的電話--> <select id="ListPhonesByIds" parameterType="String" resultType="String"> SELECT h.telphone from hr_staff_info h left JOIN sys_user u on h.STAFFINFO_ID=u.STAFF_ID where u.id in <foreach collection="array" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach> </select> -----傳入List<string>----返回List<User>------ public List<User> findByUserIdList(List<String> userlist) throws Exception { return (List<User>) dao.findForList("UserMapper.findByUserIdList", userlist); } <!-- 通過userId的list來查詢userlist --> <select id="findByUserIdList" parameterType="java.util.List" resultMap="userResultMap" > select * from sys_user where id in <foreach collection="list" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach> </select>


sql中我們可以傳入一個list或者一個數組,返回一個list。

這裏用到了sql中的 In,用到了sql中的遍歷。


在我們要向mapper.xml中傳遞String參數的時候,需要sql中設置

parameterType="String"

同時 要保證impl中的參數名和sql中的名字要一致。

如下:

@Override
	public User findByUE(String userId)throws Exception{
		return (User)dao.findForObject("UserMapper.findById",userId);
	}
	
	sql :
	u.id = #{userId}




sql中出入一個list,返回一個list