本章内容概述:
- mapper 查询 xml 文件基本使用
- 通过 mybatis 实现一条数据的查询
1 用户数据表
2 用户信息对应的实体类
package com.example.demo.bean;
import java.io.Serializable;
public class UserBean implements Serializable {
private int id;
private String userName;
private String realName;
private int age;
///set get 方法省略
}
3 创建查询对应的mapper文件
这里使用了 @Mapper,我们可以认为这是 Mybatis 自动配置时, 默认扫描的注解类。
package com.example.demo.dao;
import com.example.demo.bean.UserBean;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserDao {
//根据用户的 id 来查询用户的基本信息
UserBean selectUserFormId(int id);
}
UserDao 对应的 UserMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.dao.UserDao">
<resultMap id="userBean" type="com.example.demo.bean.UserBean">
<result property="id" jdbcType="INTEGER" column="id"/>
<result property="userName" jdbcType="VARCHAR" column="user_name"/>
<result property="age" jdbcType="INTEGER" column="age"/>
<result property="realName" jdbcType="VARCHAR" column="realname"/>
</resultMap>
<select id="selectUserFormId" resultMap="userBean">
select *
from tb_user
where id = #{id}
</select>
</mapper>
- mapper 标签中的 namespace 用来填写映射当前的Mapper接口
- resultMap可以将查询到的复杂数据映射到一个结果集当中(例如这里的UserBean)
- select 标签是用来执行查询条件的
4 执行单元测试进行查询
import com.example.demo.bean.UserBean;
import com.example.demo.dao.UserDao;
import com.example.demo.service.UserService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class DemoApplicationTests {
@Autowired
public UserDao userDao;
@Test
void contextLoads() {
// 通过mybatis 查询一条用户信息
UserBean userBean = userDao.selectUserFormId(3);
//控制台输入
System.out.println(userBean.toString());
}
}
执行单元测试后,控制台输出用户信息,查询成功
5 总结
使用 mybatis 查询到一条简单的数据,我们只需要做到:
- 1 创建对应数据的实体类
- 2 创建查询对应的接口实体
- 3 创建查询对应的 Mapper.xml
本小节完结 如有疑问可回复评论