Skip to content Skip to footer

MyBatis Mapper(映射器)

MyBatis执行SQL的两种方式MyBatis配置文件

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(本节基于《第一个MyBatis程序》中的示例实现)。。

package net.biancheng.mapper;

import java.util.List;

import net.biancheng.po.Website;

public interface WebsiteMapper {

public List selectAllWebsite();

}

WebsiteMapper.xml 代码如下。

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

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

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