• MyBatis Mapper映射器


    映射器是 MyBatis 中最重要的文件,文件中包含一组 SQL 语句(例如查询、添加、删除、修改),这些语句称为映射语句或映射 SQL 语句。

    映射器由 Java 接口和 XML 文件(或注解)共同组成,它的作用如下。

    • 定义参数类型
    • 配置缓存
    • 提供 SQL 语句和动态 SQL
    • 定义查询结果和 POJO 的映射关系

    映射器有以下两种实现方式。

    • 通过 XML 文件方式实现,比如我们在 mybatis-config.xml 文件中描述的 XML 文件,用来生成 mapper。
    • 通过注解的方式实现,使用 Configuration 对象注册 Mapper 接口。

    如果 SQL 语句存在动态 SQL 或者比较复杂,使用注解写在 Java 文件里可读性差,且增加了维护的成本。所以一般建议使用 XML 文件配置的方式,避免重复编写 SQL 语句。

    XML实现映射器

    XML 定义映射器分为两个部分:接口和XML。下面先定义接口 WebsiteMapper

    1. public interface WebsiteMapper {
    2. public List selectAllWebsite();
    3. }

    WebsiteMapper.xml

    1. "1.0" encoding="UTF-8"?>
    2. mapper
    3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    5. <mapper namespace="net.cc.mapper.WebsiteMapper">
    6. <select id="selectAllWebsite"
    7. resultType="net.cc.po.Website">
    8. select * from website
    9. select>
    10. mapper>

    下面对上述 XML 文件进行讲解。

    • namespace 用来定义命名空间,该命名空间和定义接口的全限定名一致。