mybatis查询返回单条数据
时间: 2023-07-22 12:17:27 浏览: 104
如果你使用 MyBatis 做数据访问层,查询单条数据的方式可以有多种,以下是其中一种常用的方式:
1. 使用 selectOne 方法
```java
MybatisDao mybatisDao = sqlSession.getMapper(MybatisDao.class);
User user = mybatisDao.selectUserById(1);
```
其中,`selectUserById` 方法是 MyBatis 映射文件中的一个查询语句,返回类型是 User 类型。如果查询结果有多条数据,会抛出 TooManyResultsException 异常。
2. 使用 ResultMap
在 MyBatis 映射文件中,可以定义一个 ResultMap,用于将查询结果映射为 Java 对象。以下是一个简单的示例:
```xml
<resultMap id="userResultMap" type="User">
<id property="id" column="id"/>
<result property="username" column="username"/>
<result property="password" column="password"/>
</resultMap>
<select id="selectUserById" resultMap="userResultMap">
select id, username, password from user where id = #{id}
</select>
```
然后在 Java 代码中调用 selectOne 方法:
```java
User user = sqlSession.selectOne("selectUserById", 1);
```
其中,第一个参数是映射文件中的查询语句的 ID,第二个参数是查询的条件。
注意,如果查询结果为空,会返回 null,需要在代码中进行判断。
阅读全文