文章目录
一、单表查询基础功能
1. 根据id查询数据详情
- 持久层接口方法
User getUserById(int id);
- xml 文件对应SQL
<select id="getUserById" resultType="com.cy.mybatis.pojo.entity.User"> select * from user where id = #{id} </select>
- 测试
@Test void testGetUserById(){ User user = userMapper.getUserById(1); System.out.println("user = " + user); }
2. 查询当前表中数据列表
- 持久层接口方法
List<User> getAllUser();
- xml 文件对应SQL
<select id="getAllUser" resultType="com.cy.mybatis.pojo.entity.User"> select * from user </select>
- 测试
@Test void testGetAllUser(){ List<User> allUser = userMapper.getAllUser(); System.out.println("allUser = " + allUser); }
3. 统计当前表中的数据数量
- 持久层接口方法
int count();
- xml 文件对应SQL
<select id="count" resultType="int"> select count(*) from user </select>
- 测试
@Test void testCount() { int count = userMapper.count(); System.out.println("count = " + count); }
二、查询进阶功能
1. 根据id查询数据详情并封装到Map中
- 持久层接口方法
Map<String,Object> getUserByIdToMap(int id);
- xml 文件对应SQL
<select id="getUserByIdToMap" resultType="java.util.Map"> select * from user where id = #{id} </select>
- 测试
@Test void testGetUserByIdToMap(){ Map<String, Object> map = userMapper.getUserByIdToMap(1); System.out.println(map); }
- 输出结果
2. 查询数据列表信息并封装到Map键值对的值value中
- 持久层接口方法
@MapKey("id") // 将查询出来的结果中的id作为Map容器中的key(因为id唯一),查询出来的结果作为value Map<String,Object> getAllUserToMap();
- xml 文件对应SQL
<select id="getAllUserToMap" resultType="map"> select * from user </select>
- 测试
@Test void testGetAllUserToMap(){ List<Map<String, Object>> allUserToMap = userMapper.getAllUserToMap(); System.out.println(allUserToMap); }
- 输出结果
{ 1={ password=123456, phone=13334347878, sex=男, id=1, age=18, email=123@163.com, username=admin}, 2={ password=123456, phone=15050509797, sex=男, id=2, age=20, email=123@163.com, username=user}, 3={ password=123456, phone=13889899898, sex=男, id=3, age=22, email=123@163.com, username=张三}, 4={ password=123456, phone=13757576363, sex=女, id=4, age=18, email=123@163.com, username=张小花} }
3. 查询当前表中数据列表并封装到Map中
- 持久层接口方法
List<Map<String,Object>> getAllUserToMap();
- xml 文件对应SQL
<select id="getAllUserToMap" resultType="map"> select * from user </select>
- 测试
@Test void testGetAllUserToMap(){ List<Map<String, Object>> allUserToMap = userMapper.getAllUserToMap(); System.out.println(allUserToMap); }
- 输出结果