老司机学习MyBatis之如何通过select返回List

一、案例

当要查询的结果不是单个记录而是一个集合的时候,MyBatis的resultType写的依然是集合中的对象的类型名称,例如:

<select id="getAllUsers" resultType="com.queen.mybatis.bean.User">
	select id, loginId, userName, role, note from t_user
</select>

该查询语句,查出的是所有用户数据,注意resultType里面写的依然是集合中的对象的类型名称。

不能写成java.util.List,否则查询会报错,下面我们演示一下这种情况:

修改XML文件:

<select id="getAllUsers" resultType="java.util.List">
	select id, loginId, userName, role, note from t_user
</select>

控制台打印报错信息:

org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: java.lang.UnsupportedOperationException
### The error may exist in UserMapper.xml
### The error may involve com.queen.mybatis.mapper.UserMapper.getAllUsers
### The error occurred while handling results
### SQL: select id, loginId, userName, role, note from t_user
### Cause: java.lang.UnsupportedOperationException
	at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:26)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:111)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:102)

写成java.util.List直接抛出了异常。


=======欢迎大家拍砖,小手一抖,多多点赞哟!=======

版权声明:本文为博主原创文章,允许转载,但转载必须标明出处。


猜你喜欢

转载自blog.csdn.net/gaomb_1990/article/details/80638165