1. 程式人生 > >雜談——關於mybatis 的mapper namespace 作用及解析

雜談——關於mybatis 的mapper namespace 作用及解析

在mybatis中,對映檔案中的namespace是用於繫結Dao介面的,即面向介面程式設計。


當你的namespace繫結介面後,你可以不用寫介面實現類,mybatis會通過該繫結自動幫你找到對應要執行的SQL語句,如下:
假設定義了IArticeDAO介面

public interface IArticleDAO
{
List<Article> selectAllArticle();
}


對於對映檔案如下:

<mapper namespace="IArticleDAO">
<select id="selectAllArticle" resultType="article">
SELECT t.* FROM T_article t WHERE t.flag = '1' ORDER BY t.createtime DESC
</select>

這樣的話,在程式碼中可以直接使用IArticeDAO面向介面程式設計而不需要再編寫實現類。

注:介面中的方法與對映檔案中的SQL語句的ID一一對應 。

總結:Mybatis中namespace用於繫結dao介面,dao介面的方法對應mapper中的sql語名。