MyBatis实现Mapper配置并查询数据

什么是Mapper

mapper 可以极大的方便开发人员进行ORM,提供极其方便的单表增删改查。

什么是mapper,一句话简单说,它就是个辅助mybatis极简单表开发的组件。它不是为了替代mybatis,而是让mybatis的开发更方便。
可以按照自己的需要选择通用方法,还能很方便的开发自己的通用方法。

注解方式使用Mapper

<!-- mapper配置 -->
<mappers>
    <mapper class="mapper.UserMapper"/>
</mappers>

表示mapper已经通过注解的方式搭建好了Java方法和SQL语句之间的桥梁,并且查询出了所需要的数据

XML方式使用Mapper

User模块Mapper层:UserMapper.java

<?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="mapper.UserMapper">
</mapper>

有了XML文件后,我们使用标签给查询年龄的方法添加上对应的SQL语句

select-resultType

在UserMapper.xml文件中,我们新增 selectUserById 标签,该 select 标签的作用是:通过id查询用户

<select id="selectUserById" resultType="">
    SELECT * FROM user WHERE id = #{id}
</select>

上面的内容返回的是所有字段值,我们需要自己创建实体类来存储查出来的值
在entity包下创建User实体类:User.java

package entity;

public class User {
    private Integer id;
    private String username;
    private Integer age;
    private Integer score;
    // 省略getter&setter方法
    // 省略toString方法
}

select-resultMap

User模块Mapper层配置文件:UserMapper.xml

<resultMap id="userMap" type="entity.User">
    <id property="id" column="id"/>
    <result property="username" column="username"/>
    <result property="age" column="age"/>
    <result property="score" column="score"/>
</resultMap>

上标签中有和两个子标签
其中标签是主键,其它字段均使用 result 标签来映射
标签有property和column两个属性
其中 property 是 Java 对象中的属性名称,column 是数据表与之对应的字段名称
把UserMapper.xml文件中selectUserById标签的返回类型改为上面创建的resultMap

上一篇:Mybatis学习总结第二篇


下一篇:Mybatis-puls进阶