mybatis入門02

1. mybatis的xml配置文件(部分配置)

1.1 屬性(properties)

這些屬性都是可外部配置且可動態替換的,既能夠在典型的 Java 的properties屬性文件中配置,亦可經過 properties 元素的子元素來傳遞。java

<properties resource="org/mybatis/example/config.properties">
  <property name="username" value="dev_user"/>
  <property name="password" value="F2Fa3!33TYyg"/>
</properties>
複製代碼

1.2 類型別名(typeAliases)

類型別名是爲 Java 類型設置一個短的名字。 它只和 XML 配置有關,存在的意義僅在於用來減小類徹底限定名的冗餘。sql

<typeAliases>
  <typeAlias alias="Author" type="domain.blog.Author"/>
</typeAliases>
複製代碼

也能夠指定一個包名,MyBatis 會在包名下面搜索須要的 Java Bean,好比數據庫

<typeAliases>
  <package name="com.wangdao.bean"/>
</typeAliases>
複製代碼

1.3 映射器(mappers)

<!-- 使用相對於類路徑的資源引用 -->
<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>
複製代碼

2. Log4j 日誌框架

經過IO輸出到日誌文件,消耗系統資源數組

2.1 引入依賴

log4jmybatis

2.2 複製配置

2.3 日誌輸出級別

debug > info > warn > error > fatalapp

3. 輸入映射

單個參數,多個參數,註解框架

3.1 單個參數

#{value}dom

  • 值類型
    • value寫任意字符
  • javabean
    • value寫bean的成員變量名,其實是調用bean的get()
  • map
    • value寫map的key,實際用key對應的value

3.2 多個參數

根據傳入參數的順序,分別對應arg0,arg1...或param1,param2ui

3.3 使用註解

@Param 可見便可用url

可見:@Param(" ")中的value值

可用:value能夠直接在#{}中使用

4. 輸出映射

4.1 值類型

  • 單個結果
    • resultType="值類型"
  • 多個結果
    • resultType="值類型",方法的返回值爲數組或list

4.2 Bean類型

查詢結果的列名與bean的成員變量名對應

不一致的能夠在sql中使用as修改查詢結果的列名

實際使用的是bean對象的setter()

4.3 resultMap

封裝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>
複製代碼
相關文章
相關標籤/搜索