mybatis中selectOne的用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis中selectOne的用法相关的知识,希望对你有一定的参考价值。

比如我想按用户名和密码查询出一个用户.用selectOne方法怎么写??

“select One”,释义:选择一个。

用法如下:

    Click to select one or more users from the list.    

    单击此处可从以下列表中选择一个或多个用户。 

    You can select one or many conditions.      

    可以选择一个或多个条件。 

    Select one folder to perform this operation.      

    执行此操作之前,请选择一个文件夹。 

    From the displayed text, select one of the configuration attributes that you created, and then click OK.      

    从这个显示的文本中,选择您创建的配置属性中的一个,然后点击OK。 

    Select one or more than one requirements and click OK.      

    选择一个或者多个需求并点击OK。  

参考技术A selectone(namespace.statement,
param)
namespace
:每个xml的标示。

aaa就是namespace
statement:
xml里面的执行语句块。

select
*
from
tablename

query就是statement
param:传入的参数。具体见api
参考技术B SQL语句,照写,但要求结果是只返回一行的!如果返回多行,就会爆错。本回答被提问者采纳

Expected one result (or null) to be returned by selectOne(), but found: 2

看到标题就已经很明了了:

两种情况:

1.你想查询一条数据,但返回两条数据:

2.你想查询多条数据,但是前台限制只能查询一条

(1) 检查自己的数据sql语句写对没有(关于mybaties的sql操作自己百度)

(2) 查看mybaties的返回值(resultType或resultMap),可以返回list,map等数据

(3)  dao层接口要与mybaties中返回值和接收值都要保持一致

例:返回map数据


返回多条数据是多个Map,多个Map放在List中用List<Map<String,String>>接收返回数据

Mybatis返回的Map是这样的一种格式:Map<字段名称,字段值> 

一个Map<字段名,字段值>对象代表一行数据 

 

解决方法,改返回数据类型


以上是关于mybatis中selectOne的用法的主要内容,如果未能解决你的问题,请参考以下文章

mybatis selectone 返回为空的问题

mybatis plus 自带的 selectOne 方法错误可能 之一

mybatis使用

mybatis 动态代理 map 使用报错,找到9个,selectOne

mybatis 使用session.getMapper

关于MyBatis的两种写法