1. 程式人生 > >mybatis 聯表查詢

mybatis 聯表查詢

聯表查詢


< !-- User 聯合文章進行查詢 方法之一的配置 (多對一的方式)  -->    
    <resultMap id="resultUserArticleList" type="Article">
        <id property="id" column="aid" />
        <result property="title" column="title" />
        <result property="content" column="content" />
        
        <association property="user" javaType="User">
            <id property="id" column="id" />
            <result property="userName" column="userName" />
            <result property="userAddress" column="userAddress" />            
        </association>        
    </resultMap>


< select id="getUserArticles" parameterType="int" resultMap="resultUserArticleList">
       select user.id,user.userName,user.userAddress,article.id aid,article.title,article.content from user,article
              where user.id=article.userid and user.id=#{id}

</select>

將 association  中對應的對映獨立抽取出來,可以達到複用的目的。

<resultMap type="User" id="resultListUser">
        <id column="id" property="id" />
        <result column="userName" property="userName" />
        <result column="userAge" property="userAge" />
        <result column="userAddress" property="userAddress" />
</resultMap>


    <!-- User 聯合文章進行查詢 方法之二的配置 (多對一的方式) -->    
    <resultMap id="resultUserArticleList-2" type="Article">
        <id property="id" column="aid" />
        <result property="title" column="title" />
        <result property="content" column="content" />        
        <association property="user" javaType="User" resultMap="resultListUser" />            
    </resultMap>
    
    <select id="getUserArticles" parameterType="int" resultMap="resultUserArticleList">
       select user.id,user.userName,user.userAddress,article.id aid,article.title,article.content from user,article
              where user.id=article.userid and user.id=#{id}
    </select>

轉載地址:

http://blog.csdn.net/techbirds_bao/article/details/9233599/
 

相關推薦

mybatis 查詢

聯表查詢 < !-- User 聯合文章進行查詢 方法之一的配置 (多對一的方式)  -->         <resultMap id="resultUserArticleList" type="Article">         <id pr

mybatis查詢

先上表student表:t_agetype表:這裡的表並沒有建立主外來鍵,沒有建立主外建的表未必沒有關聯,個人認為主外建只是表關係的具體體現定義StudentAd類作為student表的對映類(因為Student類之前用過,偷個懶):public class StudentA

Springboot中使用Mybatis框架對資料庫進行查詢,踩坑填坑

因為mybatis使用的基本是原生sql語句 所以首先從資料庫開始說 以mysql資料庫為例,對錶的連線查詢分為四種 內連線,外連線,交叉連線,和聯合連線 內連線使用比較運算子根據每個表共有的列的值匹配兩個表中的行 sql語句舉例:聯接查詢user,order表

【轉】mybatis生成逆向工程後對對資料庫的模糊查詢以及如何查詢

原帖地址 (一)1.應用mybatis逆向工程會大大的提高我們的開發效率,如何應用mabatis 逆向生成的程式碼進行模糊查詢那,經過研究特意把程式碼分享給大家 2.首先看一下pojo 層中example 中的程式碼:     .由此看出mybatis 已經為

MyBatis兩張中存在相同欄位名,查詢時的衝突解決辦法

1. 經常使用類似left join做查詢,偶爾遇到兩張表的欄位名相同(即column名字一致),此時可以在mybatis中這樣配置 例子: <select id="demo" resultMap="DemoResultMap"> SEL

ThinkPHP查詢

聯表查詢 height select() 別名 ble tab rom thinkphp mod 1、table 方法      原生sql方法   原生sql語法:select 表1.字段,表2.字段 from 表1as 別名1,表名2 as 別名 2 where 表1.

Yii 2.0實現查詢加搜索分頁的方法示例

查詢前言最近在學習yii2.0,在使用yii2.0過程中遇到一些問題,現將查詢搜索分頁的方法整理如下,分享出來供大家參考學習,話不多說,來一起看看詳細的介紹:主表:{{%article}}關聯表:{{%article_class}}方法如下1、使用gii創建CRUD和search不詳述2、在Article中添

mysql查詢

mysql聯表查詢1、查詢4個表(查詢a、b、c、d表的幾個字段,然後from後面是相當於將表名賦予一個別名即a、b、c、d。然後where是設置一些條件)select a.name,a.quota_mailbox,a.quota_netdisk,a.limit_send,a.limit_recv,b.rea

mysql查詢腳本

mysql聯表查詢腳本mysql聯表查詢腳本:#!/bin/sh kkmailmysqlpass=$(cat /usr/local/kk-mail/config/custom.conf | grep -w "pass" | awk -F" " '{print $

查詢時始終以小結果集驅動大結果集

blog inner sta 寫在前面 既然 sort 說過 convert 都是 寫在前面的話 不要求每個人一定理解 聯表查詢(join/left join/inner join等)時的mysql運算過程; 不要求每個人一定知道線上(現在或未來)哪張表數據量大,哪張表數據

tp3 查詢

fix 聯表查詢 highlight IE mit () ID AS ews D("column") ->field("{$DbPrefix}column.pid,{$DbPrefix}news.*") ->wh

查詢降低複雜度

聯表查詢過程中,如果涉及表非常多,查詢速度很慢。這時可以用追加欄位的方法,將分頁的結果拿出來進行聯表查詢。 devList = cmsDeviceDao.getMdevStateInfoByPage(paramMap, page); if (null != devList &

MyBatis查詢操作——XML(一對多)

題目:使用Mybatis,使用XML方式查詢表中資料(一對多,在原來單表的基礎上修改) 單表查詢操作連結 一、思路: 思路(實體類+實體類對映檔案+mybatis主配置檔案+測試類): 我們的目標是要通過一條sql語句,把兩張表裡面的資料查詢出來。 第一:改造我們的實體類 1、給

MyBatis查詢操作——XML

題目:使用Mybatis,使用XML方式查詢表中資料 一、思路: 實體類+實體對映檔案+mybatis主配置檔案+測試類 提示1:實體類的名字和表名保持一致(首字母大寫);實體類裡面定義的屬性和表的欄位保持一致;給實體類裡面的屬性分別寫上get、set方法。 提示2:實體對映

mybatis查詢:一對多

思想:設每個員工對應一個部門,而我將員工查詢出來要帶出相應的部門資訊 我的emp表: 我的dept表: 設我有一個部門表的實體類: Dept.java public class Dept { private int deptNo; private String d

Spring Hibernate JPA 查詢 複雜查詢

 正文: 一、Hibernate VS Mybatis 1、簡介     Hibernate對資料庫結構提供了較為完整的封裝,Hibernate的O/R Mapping實現了POJO 和資料庫表之間的對映,以及SQL 的自動生成和執行。程式設計師往往只需定義好了POJO

mybatis查詢

mybatis實現多表查詢方式 1.1 業務裝配,對兩個表編寫單表查詢語句,在業務把查詢的兩個結果進行關聯 1.2 使用Auto Mapping 特性,在實現兩表聯合查詢時通過別名完成對映 1.3 使用mybatis的<resultMap>標籤進行實現 2.

MySQL查詢中的驅動,優化查詢

一、為什麼要用小表驅動大表 1、驅動表的定義 當進行多表連線查詢時, [驅動表] 的定義為: 1)指定了聯接條件時,滿足查詢條件的記錄行數少的表為[驅動表] 2)未指定聯接條件時,行數少的表為[驅動表](Important!) 忠告:如果你搞不清楚該讓誰做驅動表、

查詢時,right syntax to use near 'check as b on a.id = b.program_id'

簡單記錄一下聯表查詢時候的細節問題 聯表查詢的時老是出現join的條件出錯,應該注意你聯表查詢的表是不是 記錄於2018年12月27號中午12時17分 sql語句裡面的關鍵字(例如check作為表名時會出錯的)。 推薦大家一個可以避免問題的操作,把查詢語句複製到

[慢查優化]查詢注意誰是驅動 & 你搞不清楚誰join誰更好時請放手讓mysql自行判定

夠複雜吧。Nested Loop Join 就是這樣, 以驅動表的結果集作為迴圈的基礎資料,然後將結果集中的資料作為過濾條件一條條地到下一個表中查詢資料,最後合併結果;此時還有第三個表,則將前兩個表的 Join 結果集作為迴圈基礎資料,再一次通過迴圈查詢條件到第三個表中查詢資料,如此反覆。 這條語句的