mybatis返回数组, 应该怎么写


select r.role_id from s_user u, s_role r,s_relate g
where r.role_id=g.role_id and userName=#{userName}

我要查询的role_id 会返回多个, 这么写对吗?
还有我的DAO层应该怎么接收, 用List<>接收。打印显示listsize=0
大神帮帮忙

0

2个回答

两个问题
1、首先你的sql语句有问题,显然你要多表联合查询,那么应该把三张表建立连接。
2、用List<>接收是正确的,显示listsize=0,说明你的查找的几个表里没有你要查找的 userName和role_id,还有一种可能就是1中提到的sql语句错误

0

主要是sql写得不对,没查询出数据而已
正确的sql写法应该是
select
r.role_id
from s_role r
inner join s_user u on u.role_id = r.id
inner join s_relate g on g.role_id = r.id
where u.userName=#{userName}

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于Mybatis传递数组xml文件的写法
这是用mybatis的xml文件来模糊查询不定参数的sql写法:rn1.对应的java的interface:rnrnpublic interface MyMapper {n n List queryAppleByName(@Param("names")String[] names); nnn}2.对应的xml文件:rnrnrnn select size,age from apple@or
Mybatis中查询结果中返回值是resultType和resultMap
resultType和resultMap是select标签内的属性,来决定返回值的类型。 nresultType和resultMap区别:nnnn实体类和数据库列属性对应则使用resultType, n否则使用resultMap指定列名属性和实体类属性对应nnnnresultType指定参数:nn1. 返回值是实体类: nresultType属性值:指定实体类全路径nn&amp;amp;lt;select id...
mybatis xml中的数组
[Ljava.lang.Integernnnn[Ljava.lang.Integer
mybatis查询当参数是数组的时候该怎么写parameterType
今天用到查询参数是一个不定元素个数的数组如int[]、String[]nn在写select查询的parameterType的时候发现,如果parameterType是一个数组的话,要么配置语句中不写这个参数类型nn即如下:nn &lt;select id="getMemberListById" resultType="java.util.HashMap" &gt;n select i...
mybatis传入数组查询
mybatis传入数组查询nnList&amp;amp;lt;Dept&amp;amp;gt; getDeptsByCompanyIds(@Param(&amp;quot;companyIds&amp;quot;) String[] companyIds);nn&amp;amp;lt;select id=&amp;quot;getDeptsByCompanyIds&amp;quot; resultMap=&amp;quot;Dept&amp;quot;&amp;amp;gt;n select *
返回零长度的数组或者集合,而不是null
如果一个方法的返回值类型是集合或者数组 ,如果在方法内部需要返回的集合或者数组是零长度的,也就是没有实际对象在里面,n我们也应该放回一个零长度的数组或者集合,而不是返回null。如果返回了null,客户端程序员就要检测返回的是不是null,然后才能n进行下一步操作,否则就会引发NullPointException。但是如果是返回的的是空数组或者集合,就不会再后续的使用这个对象上,引发n空指针异常,我们可以根据代码的行为和表现,来判断数组和集合是不是为空。
对于mybatis查询结果返回类型的理解
这两天一直在纠结resultType与resultMap的使用场景的问题,当然也因为自己之前学的不扎实的原因,导致在做练手项目的时候不理解这里为什么要使用resultType,那里为什么要使用resultMap,看了很多博客,但是没有理解到其中的精髓,今天认真翻了翻直接写的mapper.xml文件,大概根据里面的信息总结了一下:1.resultType的使用场景一般是在单表查询的时候,如果只是单表...
Mybatis 查询数据返回基本类型数组
testpublic void test() {}欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:nMarkdown和扩展Markdown简洁的语法n代码块高亮n图片链接和图片上传nLaTex数学公式nUML序列图和流程图n离线写博客n导入导出Markdown文件n丰富的快捷键n快捷键n加粗 Ctrl + B n斜体
mybatis的xml中返回值类型写法
mybatis中resultMap要填写在xml中定义的标签id名,resultType填写返回值的java类型,两者只能采用其中一个。注意resultType填写的是一条数据返回的数据类型,如实际java方法时List&amp;lt;Map&amp;lt;String,String&amp;gt;&amp;gt;,resultType=“java.util.Map”...
mybatis中sql传入参数为集合、数组时解决方式
平时我们写sql时只需要传入一个查询参数或者几个不同字段的参数就足够了,但是如果传入的参数是集合、数组的时候该怎么办呢?nmybatis中的标签很好的提供了对这类问题的解决方法,利用标签可以实现sql条件的循环,这样这个问题就能很好的解决了n标签的主要属性有:n1、item:集合中的一个元素,表示集合每一个元素进行迭代时的别名n2、index:索引,表示在迭代过程中,每次迭代到的位置n3
mybais返回基本类型的集合,或数组,resultType用list接收
List&amp;lt;Long&amp;gt;list2s= itemCatMapper.queryIdsByPid(id);nn nnn&amp;lt;select id=&quot;queryIdsByPid&quot; resultType=&quot;long&quot;&amp;gt;n SELECT id FROM tb_item_cat WHERE parent_id=#{id}n&amp;lt;/select&amp;gt;nn nn nn 
Mybatis返回值类型为List<String>时,sql语句怎么写
前言:nn因为某个需求需要返回访问数据库的返回值是每条记录的同一列,所以就想到了用集合。List&lt;String&gt;.然后就开始操作。。。nn代码一开始是这样的nnnn&lt;!--查询所有老师--&gt;n&lt;select id="findTeacherName" resultMap="java.lang.String" &gt;n selectn &lt;include re...
Mybatis: 返回不同实体(对象数组)
       现在有这样一个需求:我这里有20个表名,然后随便选一个,你给我到这个所选的表里面把所有数据给我拿回来。之前的话我们都是有一个确定的表名,根据这个表创建一个实体类,当返回数据时,把resultTyoe设成这个实体类就可以了。但是现在要查哪一个表不确定了,也就是说你的resulttype不能写成一个实体类,有些人说为啥不行,行行行你写吧,20个表对应20个实体类,累死你。nn      ...
mybatis select返回多条记录即返回类型为list时,resultType的写法
nn查询出的结果可能有好多条记录,返回类型即是list。但resultType还是写成resultType=&quot;user&quot;(user为集合list中的实体类),而不是写成resultType=&quot;java.util.List&quot;
mybatis 多表链接查询后,结果集resultType或resultMap 怎么写
nn通过多个表关联查询,其结果也含有三个表以上的字段,用resultType 都不知道该写哪个实体类.......纠结nn解决方法:nn第一:新建议一个你需要的字段的实体类,如下图:nnnn第二:在XXXMapper.xml文件中写对应的&amp;lt;resultMap&amp;gt;.如下图:nnnn第三:查询结果的sql语句关联resultMap即可。nn...
mybatis多表查询返回map类型
mybatis进行多表查询时,返回的结果为map而不是某个实体类的时候,如下:nn&amp;lt;!-- 查询多表返回类型为map --&amp;gt;n&amp;lt;select id=&quot;list&quot; parameterType=&quot;User&quot; resultType=&quot;map&quot;&amp;gt;n SELECTn u.uid,n u.role_id,n m.mid,n ...
mybatis框架xml文件的返回值类型
1.返回类型有两种resultType  和 resultMap :rn              resultType 可以是简单类型  ------对应mapper的返回值类型是List>rn                                        是复杂类型-------对应的mapper的返回值类型时对象类型rn              resultMap 必须是
MyBatis传入数组和列表时的处理方案
List&amp;lt;User&amp;gt; selectByUserIdList(@Param(&quot;userIds&quot;)String[] userIds);nn因要查看userId在userIds这个范围内,因此需要使用in关键字。那么数组是怎么在mybatis文件中使用的呢?nn&amp;lt;select id=&quot;selectByRoleIdList&quot; resultMap=&quot;user&quot; &amp;gt;nSELECT * ...
mybatis返回某个int字段的所有数据
这是一张外键关联表。传入一个id,会对应几个数据的id。我想传入一个int返回一个list&amp;lt;Integer&amp;gt; 的对象nn nnnList&amp;lt;Integer&amp;gt; selectAllTaskidByProjectId(@Param(value = &quot;projectid&quot;) int projectid); //传入方案id,返回所有的任务idnnn&amp;lt;select id=&quot;sel...
mybatis 多表关联查询时,如果使用resultType作为输出映射时,估计会出现重复数据
mybatis 多表关联查询时,一般建议还是使用把需要关联的表的pojo添加到主表对应的pojo中作为它的属性,这样在mapper.xml文件中可以使用assacition(一对一查询),或者colletion(一对多查询)来使用resultMap作为输出映射。nn不过最近我们公司的确使用VO的形式(把所要映射的字段,都写在此vo里面,mapper.xml中使用resultType作为输出映射),...
mybatis学习之查询结果返回List以及Map
当要查询的结果不是单个记录而是一个集合的时候,mybatis的resultType写的依然是集合中的对象的类型名称,例如: <select id="getPersonByNameLike"resultType="mybatis_01.Person">n select * from person where name like #{name}n </select>该模糊查询查
mybatis 关联查询原本返回数组,结果只返回了第一条数据怎么办?
今天出了一个小问题,就是在MyBatis数据库中查询一组数据,原本应该返回的是一组List&amp;lt;entity&amp;gt;类型的一组数据,但是调用接口之后只返回了第一跳查询数据。当时修改了resultMap、parameterType还有实体类等等都没搞定。最后才发现,原来是再查询语句中返回值没有携带返回数组实体类的id字段。所以....只要再select查询语句返回值里添加对应的实体类id就可以搞定...
MyBatis批量插入主键回写
使用Mybatis操作批量插入时有如下异常.nMybatis版本: 3.2.4nDB: MySQLnExecutorException: Error getting generated key or setting result to parameter object. Cause: org.apache.ibatis.binding.BindingException: Parameter 'id'
【java项目】mybatis中的mapper查询时返回其他实体(多用于多表查询)
n &amp;lt;select id=&quot;selectUserorder&quot; resultType=&quot;com.pojo.Orderdetail&quot;n parameterType=&quot;java.lang.Integer&quot;&amp;gt;n SELECTn a.o_status,n a.o_no,n a.uid,n b.p_home,n b.p_starttime,n b.p_endtime,n b.p_...
MyBatis中,传String类型参数到xml配置文件,并执行SQL语句后返回String类型的结果写法(jeesite)
1、在dao类中为String类型的参数添加注解,如下图的图画处:rnrnrnrn2、在xml文件中写出对应的sql和返回类型:
mybatis实现in传入数组查询
现象: nmybatis实现in语句传入数组方法: n1:数据样式 n2:实现方法 n3:sql语句
myBatis如何返回count(*)得到的int值
今天遇到一问题,之前好好的系统,现在不管查询什么,都会报错:Result map does not contain a value for java.lang.Integern仔细想想,报错的地方的代码都没有动过,唯一只有一个地方的代码是报错前新增的:nn SELECT CASE WHEN moneyIS NULL THEN 0 ELSE moneyEND AS moneyn FR
Mybatis中,返回一个多条数据(List)时,resultType的值指定的不是List,而是List中的元素类型
1、MyBatis在xml中&amp;lt;select&amp;gt;标签不写接收参数parameterType 和 返回结果类型resultType会报异常。nn2、当返回多条一个结果时,并不是在resultType中写成List类型。如下图的错误xml中配置:nnn&amp;lt;select id=&quot;getUniqueAgencyCity&quot; resultType=&quot;java.util.List&quot;&amp;gt;n SE...
Mybatis查询结果返回Map、List
当查询结果为单条记录时,可采用如下方式:&amp;lt;select id=&quot;findUserResultMap&quot; parameterType=&quot;int&quot; resultType=&quot;java.util.HashMap&quot;&amp;gt;n    SELECT id, username, age FROM user WHERE id = #{id}n&amp;lt;/select&amp;gt;返回的Map key为字段名,valu...
mybatis返回的Bean中含有基本类型的数组(List<Long>)结果集映射
Bean:nnnpublic class TestBean implements Serializable {n private Long id;nn private List&lt;Long&gt; secondIds;n}nnresultMap:nnn&lt;select id="getTestBean" resultMap="getTestBean"&gt;n SELECT...
mybatis之数组与BLOB数据转换
mybatis中,当需要将复杂类型,如数组、List等数据保存至数据库时,是无法直接存取的。必须定义自己的类型转换器。即继承BaseTypeHandler类。nn在下面的实例中,实现了java中的Integer数组和数据库中BLOB类型字段互相转换的功能。nn首先看使用方法:nnnninsert into user (name, families) values (#{user}, #{fami...
mybatis返回map集合
需要在xml文件中配置 rn也可以通过给列起别名的形式来设定map的key值
Mybatis映射文件select 返回List
Java代码文件中rnpublic List&amp;amp;lt;Employee&amp;amp;gt; getEmpsByLastNameLike(String lastName)rnrnmapper.xml文件为:rn&amp;amp;lt;select id=&amp;quot;getEmpsByLastNameLike&amp;quot; resultType=&amp;quot;com.guigu.mybatis.Employee&amp;quot;&amp;amp;gt;rnselect*f
MyBatis返回结果集应该返回实体类还是Map?
返回map与返回实体的优缺点对比:        优点:1、简单方便(只需要做sql的映射就可以了)                  2、减少代码量(省去了写实体类)        缺点:                  1、阅读性差,维护代码时需查看页面和sql映射文件                  2、不符合面向对象思想,不符合代码规范...
Java MyBatis 调用聚合函数查询返回结果示例(记录下来,方便不记得时查看)
Java MyBatis 调用聚合函数查询返回结果示例(记录下来,方便不记得时查看)
对于mybatis中resultType中接受Date数据类型
&amp;lt;select id=&quot;getLatestOrderDate&quot; parameterType=&quot;string&quot; resultType=&quot;java.util.Date&quot;&amp;gt;n SELECT MAX(odr_date) as odr_date from orders where odr_customer_no=#{custNo}n &amp;lt;/select&amp;gt;nn1.在mappe...
mybatis 添加数据后返回主键的两种写法
第一种:加上  useGeneratedKeys=&quot;true&quot; keyProperty=&quot;id&quot;&amp;lt;insert id=&quot;insertAndGetId&quot; useGeneratedKeys=&quot;true&quot; keyProperty=&quot;id&quot; parameterType=&quot;com.chenzhou.mybatis.User&quot;&amp;gt;n insert into user(u
返回二维数组
nn二维数组的返回nnnn确切的说是返回二维数组的指针,二维数组和一位数组稍微有些不同,鉴于一维数组过于简单,博主在此只讲返回二维数组的两种方法。 n一如既往的少废话,直接上刑,不,上代码:nn1.返回二维数组的第一行的首地址:nn#include &amp;lt;stdio.h&amp;gt;nnint *array(void)n{n static int a[2][2] = {1,2,3,4};n ...
MyBatis查询结果resultType返回值类型详细介绍
一、返回一般数据类型nn比如要根据id 属性获得数据库中的某个字段值。nnmapper 接口:nnnn // 根据id 获得数据库中的username 字段的值n String getEmpNameById(Integer id);nnSQL 映射文件:nnnn &amp;amp;lt;!-- n 指定resultType 返回值类型时String 类型的,n str...
mybatis-数组转字符串
n n n nnnnnimage.pngnn数据库nCREATE TABLE `author` (n `id` int(11) NOT NULL AUTO_INCREMENT,n `username` varchar(255) NOT NULL,n `password` varchar(255) NOT NULL,n `email` varchar(255) ...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java数组应该怎么学习 应该怎么学习python