前面章节基本上把 MyBatis 的配置标签介绍完成了,现在我们就要定义 SQL 映射语句了。MyBatis 支持将 SQL 映射语句写入到 XML 文件(称为 Mapper 文件)或者通过注解直接指定。例如:
@Select("SELECT book_id, book_name, price, content FROM book") @Results({ @Result(id=true, column="book_id", property="bookId"), @Result(column="book_name", property="bookName"), @Result(column="price", property="price"), @Result(column="content", property="content") }) List<BookBean> getBookList();
本章节将介绍怎样使用 XML 文件映射 SQL 语句。如果我们使用 XML 文件映射 SQL 语句,首先需要告诉 MyBatis 到哪里去找到这些语句。Java 在这方面没有提供一个很好的方法,所以最佳的方式是告诉 MyBatis 到哪里去找映射文件。你可以使用相对于类路径的资源引用,或者字符表示,或 url 引用的完全限定名(包括 file:///URLs)。例如:
(1)使用 classpath 下的相对资源
<mappers> <mapper resource="org/mybatis/builder/AuthorMapper.xml"/> <mapper resource="org/mybatis/builder/BlogMapper.xml"/> <mapper resource="org/mybatis/builder/PostMapper.xml"/> </mappers>
(2)使用 url 完全限定名路径
<mappers> <mapper url="file:///var/sqlmaps/AuthorMapper.xml"/> <mapper url="file:///var/sqlmaps/BlogMapper.xml"/> <mapper url="file:///var/sqlmaps/PostMapper.xml"/> </mappers>
这些语句简单告诉了 MyBatis 去哪里找映射文件。其余的细节就是在每个 SQL 映射文件中了,下面的部分我们来讨论 SQL 映射文件。