1.若查询出来的数据只有一条
a.可以通过实体类对象接受
d.也可以通过list集合来进行接受
c.可以通过map集合接收
( 结果:{update_time=2022-07-17T12:15:23, deleted=0, create_time=2022-07-16T22:06:50, name=双双4, id=1548240344215633922, version=3, age=23, email=146578237@qq.com}
以字段为键以字段所对应的值为值 )
/*
* 查询单条数据
* */
Users selectUsers(@Param("name") String name);
<select id="selectUsers" resultType="users">
select * from users where name = #{name}
</select>
@Test
public void testSelectMapper(){
SqlSession sqLsession = SQLsession.getSqlsession();
SelectMapper mapper = sqLsession.getMapper(SelectMapper.class);
Users users = mapper.selectUsers("双双");
System.out.println(users);
}
2.若查询出来的数据是多条
a.可以通过list集合来进行接收
b.可以通过map类型的list进行接收
c.可以在mapper接口的方法上添加上@MapKey注解,此时就可以将每一条数据转换的map的集合作为值,以某一个字段的值为键,放入同一个map集合中
(注意在多条数据的时候一定不能用实体类对象来进行接收,如果用实体类对象来接收的话会抛出异常TooManyResultsException)
/*
* 查询多条数据
* */
List<Users> selectUser(@Param("name") String name);
<select id="selectUser" resultType="users">
select * from users where name = #{name}
</select>
@Test
public void testSelectMappers(){
SqlSession sqLsession = SQLsession.getSqlsession();
SelectMapper mapper = sqLsession.getMapper(SelectMapper.class);
List<Users> users = mapper.selectUser("双双");
System.out.println(users);
}
3、查询数据的总记录数
(注意:因为返回值为Integer,所以在mapper.xml映射文件当中resutlType应该返回Integer
还可以写成 int , Integer, integer 因为这是mybatis默认规定:详情可查阅mybatis官网)
/*
* 查询总记录数
* */
Integer getCount();
<select id="getCount" resultType="Integer">
select count(*) from users
</select>
@Test
public void tsetgetCount(){
SqlSession sqLsession = SQLsession.getSqlsession();
SelectMapper mapper = sqLsession.getMapper(SelectMapper.class);
int users = mapper.getCount();
System.out.println(users);
}
4、查询一条数据为map集合
/*
* 根据name查询用户信息为一个map集合
* */
Map<String,String> getUserBynameToMap(@Param("name") String name);
<select id="getUserBynameToMap" resultType="Map">
select * from users where name = #{name}
</select>
@Test
public void tsetgetUserBynameToMap(){
SqlSession sqLsession = SQLsession.getSqlsession();
SelectMapper mapper = sqLsession.getMapper(SelectMapper.class);
Map<String, String> users = mapper.getUserBynameToMap("双双4");
System.out.println(users);
}
5、查询多条数据为map集合
/*
* 查询所有的用户信息为map集合
* */
// List<Map<String,String>> getAllUserToMap();
@MapKey("id")
Map<String,String> getAllUserToMap();
<select id="getAllUserToMap" resultType="Map">
select * from users
</select>
@Test
public void tsetgetAllUserToMap(){
SqlSession sqLsession = SQLsession.getSqlsession();
SelectMapper mapper = sqLsession.getMapper(SelectMapper.class);
// List<Map<String,String>> users = mapper.getAllUserToMap();
Map<String,String> users = mapper.getAllUserToMap();
System.out.println(users);
}