首頁 Java java教程 mybatis入門基礎(四)----輸入映射與輸出映射

mybatis入門基礎(四)----輸入映射與輸出映射

Dec 21, 2016 pm 02:31 PM

mybatis入門基礎(四)----輸入映射與輸出映射一:輸入映射 

  透過parameterType指定輸入參數的類型,類型可以是簡單型別、hashmap、pojo的包裝類型。

1.1.傳遞pojo的包裝對象

 1.1.1.需求描述

    完成用戶資訊的綜合查詢,需要傳入的查詢條件可能很複雜(可能包括用戶信息,其它信息,比如,商品,訂單等等)。

 1.1.2.定義包裝類型的pojo

    針對上邊的需求,建議使用自訂的包裝類型pojo,在包裝類型的pojo中將複雜的查詢條件包裝進去。

包裝查詢條件的pojo類別UserQueryVo類別的程式碼:

1 package com.mybatis.entity; 2  3 /**4  *  5 * @ClassName: UserQueryVo  6 * @Description: TODO(包裝類型) 7 * @author warcaft 8 * @date 2015-6-30 上午12:00:41  9 *10  */11 public class UserQueryVo {12   //  3  *  4 * @ClassName: UserCustom  5 * @Description: TODO(使用者的擴充類別)  6 * @author warcaft 7 * @date 2015-6-30 上午12:02:37  8 * 9  */11 public class UserQueryVo {12 59   //2  *  3  * @ClassName: UserMapper 4  * @Description: TODO(使用者管理mapper介面) 5  * @author warcaft 6  * @date 2015-6-30 上午12:14:56 7  */11 public class 使用者查詢條件14     PRivate UserCustom userCustom;15 16     public UserCustom getUserCustom() {17         return userCustom;18     }19 20 User       this.userCustom = userCustom;22     }23     //可以包裝其它查詢條件. .....24 25 }
View Code

UserCustom類別的程式碼

1 package com.mybatis.entity; 2 /**&*/10 public class UserCustom extends User{11     //可以擴充使用者的使用者的資訊12 }
View Code

UserMapper.xml的程式碼

  在UserMapper.xml中定義使用者資訊綜合查詢(假設查詢條件很複雜,透過進階查詢複雜關聯查詢)

1 5     查看程式碼二:輸出對應

ult1.resultType。名一致,該列才可以成功對應。

只要查詢出來的列名和pojo中的屬性有一個一致,就能建立pojo物件。

1.1.輸出簡單類型

需求:用戶資訊的綜合查詢列表,透過查詢總數才能實現分頁功能。 '

1 2 "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 5 8 12 13 16

UserMapper.java 的代碼2     //使用者資訊綜合查詢總數3     public int findUserCount(UserQueryVo userQueryVo);4 }

Junit測試程式碼

1 個套件com.mybatis.dao.test;2 3 導入java.io.InputStream; 4 導入java.util.Date; 5 導入java.util.List;6 7 導入rg.apache.ibatis.io .Resources; 8 導入org.apache.ibatis.session.SqlSession; 9 導入og.apache.ibatis.session.SqlSessionFactory;10 導入og.apache.ibatis.session.SqlSessionFactoryBuilder; rg.junit.Before;12 導入o​​rg.junit.Test;13 14 導入com.mybatis.entity.User ;15 import com.mybatis.entity.UserCustom;16 import com.mybatis.entity.UserQueryVo;17 importVo; com.mybatis.mapper.UserMapper;18 19 public class UserMapperTest {20 21     private SqlSessionFactory sqlSessionFactory;22 23     {26         String resource = "SqlMapConfig.xml ";27         InputStream inputStream = Resources.getResourceAsStream(resource);  32     @Test33     public void findUserCountTest() {34         SqlSession sqlSession = sqlSessionFactory.openSession ();35         //建立查詢條件36         UserQueryVo userQueryVo = new UserQueryVo();37        UserCustom userCustom = newuserC. 39         userCustom.setUsername("小");40         userQueryVo. setUserCustom(userCustom);41         // 建立Usermapper對象,mybatis自動產生Usermapper代理對象42         UserMapper mapper = sqlSession.getMapper(UserMapper .class);435m User       System.out.println(count );45         sqlSession.commit();46         sqlSession.close();47     }48 }
查看程式碼

小結:

1.2.輸出pojo物件和pojo列表不管是輸出的pojo單一物件還是一個列表(list中包含pojo),在mapper.xml

在mapper.java指定的方法回傳值類型不一樣。

1.輸出單一pojo對象,方法回傳值是單一物件型別

1 public interface UserMapper {2 /**根據ID查詢用戶資訊*/3     public User findUserById(int id);#&*/3     public User findUserById(int id);44444m. 2.輸出pojo物件list,方法傳回值為List

1 public interface UserMapper {2     /** 根據用戶名稱模糊查詢用戶資訊*/3     公用清單; findUserByName(String username);4 }

:產生的動態代理物件中是根據mapper.java方法的回傳值類型決定是呼叫selectOne(單一回傳物件呼叫)還是selectList(傳回集合物件呼叫)

1.3 .輸出類型resultMap

Mybatis中使用resultMap完成進階輸出結果映射。

1.3.1.resultMap使用方法

(1).規定resultMap

(2).使用resultMap作為語句的輸出映射類型

(2).使用resultMap作為語句的輸出映射類型

( .需求:將下面的sql使用完成使用者映射

🎜 (2).定義結果圖

1 2    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 4   "http://mybatis. org/dtd/mybatis-3-mapper.dtd"> 5   8    12  13  12  13  18  19   !查詢結果中唯一的標識,20          column:查詢的列名21          property:type指定的pojo類型中的屬性名22        resultMap對colum> 25      30      31  32 『使用resultMap作為statement的輸出類型映射

1
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

iBatis和MyBatis:哪個比較適合你? iBatis和MyBatis:哪個比較適合你? Feb 19, 2024 pm 04:38 PM

iBatis和MyBatis:哪個比較適合你?

實作MyBatis中批次刪除操作的多種方式 實作MyBatis中批次刪除操作的多種方式 Feb 19, 2024 pm 07:31 PM

實作MyBatis中批次刪除操作的多種方式

詳解MyBatis動態SQL標籤中的Set標籤功能 詳解MyBatis動態SQL標籤中的Set標籤功能 Feb 26, 2024 pm 07:48 PM

詳解MyBatis動態SQL標籤中的Set標籤功能

比較分析JPA和MyBatis的功能和性能 比較分析JPA和MyBatis的功能和性能 Feb 19, 2024 pm 05:43 PM

比較分析JPA和MyBatis的功能和性能

MyBatis批次刪除語句的使用方法詳解 MyBatis批次刪除語句的使用方法詳解 Feb 20, 2024 am 08:31 AM

MyBatis批次刪除語句的使用方法詳解

MyBatis 一級快取詳解:如何提升資料存取效率? MyBatis 一級快取詳解:如何提升資料存取效率? Feb 23, 2024 pm 08:13 PM

MyBatis 一級快取詳解:如何提升資料存取效率?

MyBatis Generator配置參數解讀及最佳實踐 MyBatis Generator配置參數解讀及最佳實踐 Feb 23, 2024 am 09:51 AM

MyBatis Generator配置參數解讀及最佳實踐

解析MyBatis的快取機制:比較一級快取和二級快取的特性和用法 解析MyBatis的快取機制:比較一級快取和二級快取的特性和用法 Feb 25, 2024 pm 12:30 PM

解析MyBatis的快取機制:比較一級快取和二級快取的特性和用法

See all articles