這些屬性都是可外部配置且可動態替換的,既能夠在典型的 Java 的properties屬性文件中配置,亦可經過 properties 元素的子元素來傳遞。java
<properties resource="org/mybatis/example/config.properties">
<property name="username" value="dev_user"/>
<property name="password" value="F2Fa3!33TYyg"/>
</properties>
複製代碼
類型別名是爲 Java 類型設置一個短的名字。 它只和 XML 配置有關,存在的意義僅在於用來減小類徹底限定名的冗餘。sql
<typeAliases>
<typeAlias alias="Author" type="domain.blog.Author"/>
</typeAliases>
複製代碼
也能夠指定一個包名,MyBatis 會在包名下面搜索須要的 Java Bean,好比數據庫
<typeAliases>
<package name="com.wangdao.bean"/>
</typeAliases>
複製代碼
<!-- 使用相對於類路徑的資源引用 -->
<mappers>
<mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
<mapper resource="org/mybatis/builder/BlogMapper.xml"/>
<mapper resource="org/mybatis/builder/PostMapper.xml"/>
</mappers>
複製代碼
<!-- 使用徹底限定資源定位符(URL) -->
<mappers>
<mapper url="file:///var/mappers/AuthorMapper.xml"/>
<mapper url="file:///var/mappers/BlogMapper.xml"/>
<mapper url="file:///var/mappers/PostMapper.xml"/>
</mappers>
複製代碼
<!-- 使用映射器接口實現類的徹底限定類名 -->
<!-- 要經過接口找到對應的映射文件,類名+方法名 = namespace+id -->
<!-- 編譯後把xxxMapper.xml和xxxMapper.class放到同一路徑下 -->
<mappers>
<mapper class="org.mybatis.builder.AuthorMapper"/>
<mapper class="org.mybatis.builder.BlogMapper"/>
<mapper class="org.mybatis.builder.PostMapper"/>
</mappers>
複製代碼
<!-- 將包內的映射器接口實現所有註冊爲映射器 -->
<mappers>
<package name="org.mybatis.builder"/>
</mappers>
複製代碼
經過IO輸出到日誌文件,消耗系統資源數組
log4jmybatis
debug > info > warn > error > fatalapp
單個參數,多個參數,註解框架
#{value}dom
根據傳入參數的順序,分別對應arg0,arg1...或param1,param2ui
@Param 可見便可用url
可見:@Param(" ")中的value值
可用:value能夠直接在#{}中使用
查詢結果的列名與bean的成員變量名對應
不一致的能夠在sql中使用as修改查詢結果的列名
實際使用的是bean對象的setter()
封裝javabean
讓查詢結果的列名和javabean的成員變量名產生映射關係
<resultMap id="resultMap的id值" type="封裝的bean全限定名">
<!--id爲主鍵映射-->
<id property="" column=""/>
<!--result爲非主鍵映射-->
<result property="username" column="author_username"/>
</resultMap>
複製代碼
property爲bean的成員變量名
column爲數據庫查詢結果的列名
<select id="selectBlog" resultMap="resultMap的id值">
</select>
複製代碼