查询一个实体类对象
若查询出的数据只有一条:
- 可以通过实体类对象接收
- 可以通过
List
集合接收 - 可以通过
Map
集合接收,在select
的resultType
或resultMap
要传入别名为map
【用于json
数据传输】
Mapper
接口
/**
* 用于各种查询
*/
public interface QueryEntity {
/**
* 查询一个实体类对象的三种情况
*/
// 可以通过实体类对象接收
User getUserByIDOne(@Param("id")Integer id);
// 通过List集合接收
List<User> getUserByList(@Param("id")Integer id);
// 通过Map集合接收
Map<String,Object> getUserByMap(@Param("id")Integer id);
}
Mapper.xml
文件
<mapper namespace="com.haikang.mybatis.mapper.QueryEntity">
<!--
// 可以通过实体类对象接收
User getUserByIDOne();
// 通过List集合接收
List<User> getUserByList(@Param("id")Integer id);
// 通过Map集合接收
Map<String,Object> getUserByMap(@Param("id")Integer id);
-->
<select id="getUserByIDOne" resultType="User">
select * from t_user where id=#{id};
</select>
<select id="getUserByList" resultType="User">
select * from t_user where id=#{id};
</select>
<select id="getUserByMap" resultType="map">
注意是resultMap传入的是`map`集合的别名
select * from t_user where id=#{id};
</select>
</mapper>
第三种情况: 注意是resultMap传入的是map
集合的别名
test
类
public class QueryEntityTest {
SqlSession sqlSession = SqlSessionUtils.getSqlSession();
QueryEntity mapper = sqlSession.getMapper(QueryEntity.class);
@Test
public void testOneEntity(){
// 使用User对象接收
User user = mapper.getUserByIDOne(1);
System.out.println(user);
// 使用List接收
List<User> list = mapper.getUserByList(1);
System.out.println(list);
// 使用Map接收
Map<String, Object> map = mapper.getUserByMap(1);
System.out.println(map);
}
}
版权声明:本文为weixin_47267628原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。