现在你可能很想知道 SqlSession 和 Mapper 到底执行了什么操作,但 SQL 语句映射是个相当大的话题,可能会占去文档的大部分篇幅。 不过为了让你能够了解个大概,这里会给出几个例子。
在上面提到的例子中,一个语句既可以通过 XML 定义,也可以通过注解定义。我们先看看 XML 定义语句的方式,事实上 MyBatis 提供的全部特性都可以利用基于 XML 的映射语言来实现,这使得 MyBatis 在过去的数年间得以流行。如果你以前用过 MyBatis,你应该对这个概念比较熟悉。 不过自那以后,XML 的配置也改进了许多,我们稍后还会再提到。这里给出一个基于 XML 映射语句的示例,它应该可以满足上述示例中 SqlSession 的调用。
- <?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">
- <mappernamespace="org.mybatis.example.BlogMapper">
- <selectid="selectBlog"resultType="Blog">
- select * from Blog where id = #{id}
- </select>
- </mapper>
为了这个简单的例子,我们似乎写了不少配置,但实际上它并不多。在一个 XML 映射文件中,可以定