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

-----------传入数组------返回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}
时间: 2024-11-05 20:23:57

sql中出入一个list,返回一个list的相关文章

JAVA传入一个字符串,返回一个字符串中的大写字母

/** * * @param 传入一个字符串 * @return 返回一个字符串中的大写字母 */ private static String stringChange(String s) { if (Utils.isStrEmpty(s)) return ""; StringBuilder sb = new StringBuilder(); for (int i = 0; i < s.length(); i++) { if (Character.isUpperCase(s.ch

sql中关于case when的一个例子

SELECT rownum R, a.expert_id as USERID, a.expert_id as TYPE, b.type_desc as TYPE_DESC, a.sex as SEX, a.user_name as USERNAME, a.head_portrait as HEADPORTRAIT, h.hospital_name as HOSPITAL, H.H_LEVEL AS HLEVEL, c.jobtitle_name as JOBTITLE, d.dept_name

编写函数,接受一个string,返回一个bool值,指出string是否有5个或者更多字符,使用此函数打印出长度大于等于5的元素

#include <algorithm> using namespace std; bool isFive(const string& s1) { return s1.size() >=5; } void shortFive(vector<string>& words, vector<string>::size_type sz) { auto end_five= partition(words.begin(), words.end(), isFiv

Entity Framework 6 Recipes 2nd Edition(11-5)译 -&gt; 从”模型定义”函数返回一个匿名类型

11-5. 从”模型定义”函数返回一个匿名类型 问题 想创建一个返回一个匿名类型的”模型定义”函数 解决方案 假设已有游客(Visitor) 预订(reservation)房间(hotel ) 的模型,如Figure 11-5所示. Figure 11-5. A model for hotel reservations 想要返回每位游客房间预订条数和带来的总收入.因为很多地方需要这些信息,所以想要创建一个”模型定义”函数,接受一个查询参数,返回一个包含游客合计信息的匿名类型的集合: 2. 把Li

Java 中无参带返回值方法的使用

如果方法不包含参数,但有返回值,我们称为无参带返回值的方法. 例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值为 int 类型的方法,执行的操作为计算两数之和,并返回结果 在 calSum( ) 方法中,返回值类型为 int 类型,因此在方法体中必须使用 return 返回一个整数值. 调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理.如: 运行结果为: 两数之和为:17 不容忽视的“小陷阱”: 1. 如果方

Java基础---Java中无参数带返回值方法的使用(三十七)

Java 中无参带返回值方法的使用 如果方法不包含参数,但有返回值,我们称为无参带返回值的方法. 例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值为 int 类型的方法,执行的操作为计算两数之和,并返回结果 在 calSum( ) 方法中,返回值类型为 int 类型,因此在方法体中必须使用 return 返回一个整数值. 调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理.如: 运行结果: 不容忽视的"小陷阱&

SQL中的union

在SQL中,如果我们查询一个班级的考试成绩数据,再统计考试成绩的总和,我们使用以下两条语句: select StudentName,Grade from Student select '总成绩',SUM(Grade)from Student 执行此两条代码,结果会分别显示在两个表中,我们该如何使两条数据整合在一起?这就用到了union集合运算符,union对两个集合进行操作,两个集合需要有相同的列名,两个集合的列类型应该是相符的,最终列名以第一个集合列名为准. 我们上面的代码片段恰好符合合并的要

慕课网-Java入门第一季-7-3 Java 中无参带返回值方法的使用

来源:http://www.imooc.com/code/1579 如果方法不包含参数,但有返回值,我们称为无参带返回值的方法. 例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值为 int 类型的方法,执行的操作为计算两数之和,并返回结果 在 calSum( ) 方法中,返回值类型为 int 类型,因此在方法体中必须使用 return 返回一个整数值. 调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理.如:

Sql中联合查询中的”子查询返回的值不止一个“的问题

在子查询中,如果想实现如下的功能: select lib,count(*),select sum(newsNo) from Table1 group by lib from Tabel1 T1,Table2 T2 where T1.newsNo =T2.newsNo group by lib 就会提示“子查询返回的值不止一个.”的错误,意思是子查询不能返回多个结果,只能返回一个结果. 因此可以改用如下的方式: select lib,count(*),select sum(newsNo) from