1. 程式人生 > >mybatis關聯字表分頁查詢實現(物理分頁)

mybatis關聯字表分頁查詢實現(物理分頁)



mapper.xml

<resultMap id="BaseResultMapOneToManey" type="cn.howso.resume.resume.entity.ResumeInfo">
        <id column="ID" jdbcType="INTEGER" property="id" />
        <result column="ABILITYID" jdbcType="VARCHAR" property="abilityid" />
        <result column="ABILITYKEY" jdbcType="VARCHAR" property="abilitykey" />
        <result column="JOB_SEEKER" jdbcType="VARCHAR" property="jobseeker" />
        <result column="SEX" jdbcType="INTEGER" property="sex" />
        <result column="SOURCE" jdbcType="VARCHAR" property="source" />
        <result column="APPLY_JOB" jdbcType="VARCHAR" property="applyjob" />
        <result column="BIRTHDAY" jdbcType="DATE" property="birthday" />
        <result column="IDENTIFY_NUM" jdbcType="VARCHAR" property="identifynum" />
        <result column="PHONE" jdbcType="VARCHAR" property="phone" />
        <result column="EMAIL" jdbcType="VARCHAR" property="email" />
        <result column="EDUCATION" jdbcType="VARCHAR" property="education" />
        <result column="PROFESSION" jdbcType="VARCHAR" property="profession" />
        <result column="SCHOOL" jdbcType="VARCHAR" property="school" />
        <result column="GRADUATION_DATE" jdbcType="DATE" property="graduationdate" />
        <result column="ANNEX" jdbcType="VARCHAR" property="annex" />
        <result column="REMARK" jdbcType="VARCHAR" property="remark" />
        <result column="UPLOAD_DEPT" jdbcType="VARCHAR" property="uploaddept" />
        <result column="UPLOAD_STAFF" jdbcType="VARCHAR" property="uploadstaff" />
        <result column="UPLOAD_DATE" jdbcType="DATE" property="uploaddate" />
        <result column="PROTECTION_DATE" jdbcType="DATE" property="protectiondate" />
        <result column="STATUS" jdbcType="INTEGER" property="status" />
        <result column="PHOTO_RESOURCE" jdbcType="VARCHAR" property="photoresource" />
        <result column="ABILITYDES" jdbcType="VARCHAR" property="abilitydes" />
        <result column="EVALUATE" jdbcType="VARCHAR" property="evaluate" />
        <result column="REUMESTATE" jdbcType="INTEGER" property="reumestate" />
  <collection property="homes" ofType="cn.howso.resume.resume.entity.ResumeHome">
      <id column="ID" jdbcType="INTEGER" property="id" />
         <result column="RESUME_ID" jdbcType="VARCHAR" property="resumeid" />
         <result column="RELATIONSHIP" jdbcType="VARCHAR" property="relationship" />
         <result column="NAME" jdbcType="VARCHAR" property="name" />
         <result column="OCCUPATION" jdbcType="VARCHAR" property="occupation" />
         <result column="PHONE" jdbcType="VARCHAR" property="phone" />
  </collection>
    </resultMap>

  <sql id="Limit_Data">
        <if test="page != null"  >
         limit #{page.start},#{page.size}
    </if>
    </sql>

<select id="findPageByWhereJoinHome" resultMap="BaseResultMapOneToManey" parameterType="java.util.Map">
   select * from (
    select * from t_resume_info
    <include refid="Limit_Data"></include>
    ) a
  LEFT JOIN t_resume_home c on a.id=c.RESUME_ID
  </select> 

mapper.java

 List<ResumeInfo> findPageByWhereJoinHome(Map<String, Object> map);

實體類:

package cn.howso.resume.resume.entity;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ResumeInfo implements Serializable {

    /** 簡歷資訊編號 */
    private String id;

    /** 技能編號 */
    private String abilityid;

    /** 技能關鍵字 */
    private String abilitykey;

    /** 求職者姓名 */
    private String jobseeker;

    /** 性別 */
    private Object sex;

    /** 簡歷來源 */
    private String source;

    /** 應聘崗位 */
    private String applyjob;

    /** 出生日期 */
    private Date birthday;

    /** 身份證號碼 */
    private String identifynum;

    /** 手機號碼 */
    private String phone;

    /** 電子郵件 */
    private String email;

    /** 最高學歷 */
    private String education;

    /** 畢業專業 */
    private String profession;

    /** 畢業院校 */
    private String school;

    /** 畢業日期 */
    private Date graduationdate;

    /** 簡歷附件 */
    private String annex;

    /** 簡歷備註 */
    private String remark;

    /** 上傳部門 */
    private String uploaddept;

    /** 上傳人員 */
    private String uploadstaff;

    /** 上傳日期 */
    private Object uploaddate;

    /** 簡歷保護期 */
    private Object protectiondate;

    /** 簡歷保護期 */
    private Object status;

    /** 照片路徑 */
    private String photoresource;

    /** 技術特長 */
    private String abilitydes;

    /** 個人評價 */
    private String evaluate;

    /** 簡歷狀態(0可用、1招聘中、2帶入職、3已入職) */
    private Integer reumestate;
   
    /**
     * 家庭資訊
     */
    private List<ResumeHome> homes=new ArrayList<ResumeHome>();
    /**
     * 工作經歷
     */
    private List<ResumeWork> works=new ArrayList<ResumeWork>();
    /**
     * 專案經驗
     */
    private List<ResumeProject> projects=new ArrayList<ResumeProject>();
    /**
     * 教育資訊
     */
    private List<ResumeEdu> edus=new ArrayList<ResumeEdu>();
    /**
     * 入職跟蹤
     */
    private List<ResumeEntry> entrys=new ArrayList<ResumeEntry>();
    /**
     * 面試記錄
     */
    private List<ResumeInterview> interview=new ArrayList<ResumeInterview>();
    /**
     * 培訓經歷
     */
    private List<ResumeTrain> trains=new ArrayList<ResumeTrain>();
    /**
     * 證書資訊
     */
    private List<ResumeCert> certs=new ArrayList<ResumeCert>();
    /**
     * 下載資訊
     */
    private List<ResumeDownload> downloads=new ArrayList<ResumeDownload>();

    public List<ResumeHome> getHomes() {
  return homes;
 }

 public void setHomes(List<ResumeHome> homes) {
  this.homes = homes;
 }

 public List<ResumeWork> getWorks() {
  return works;
 }

 public void setWorks(List<ResumeWork> works) {
  this.works = works;
 }

 public List<ResumeProject> getProjects() {
  return projects;
 }

 public void setProjects(List<ResumeProject> projects) {
  this.projects = projects;
 }

 public List<ResumeEdu> getEdus() {
  return edus;
 }

 public void setEdus(List<ResumeEdu> edus) {
  this.edus = edus;
 }

 public List<ResumeEntry> getEntrys() {
  return entrys;
 }

 public void setEntrys(List<ResumeEntry> entrys) {
  this.entrys = entrys;
 }

 public List<ResumeInterview> getInterview() {
  return interview;
 }

 public void setInterview(List<ResumeInterview> interview) {
  this.interview = interview;
 }

 public List<ResumeTrain> getTrains() {
  return trains;
 }

 public void setTrains(List<ResumeTrain> trains) {
  this.trains = trains;
 }

 public List<ResumeCert> getCerts() {
  return certs;
 }

 public void setCerts(List<ResumeCert> certs) {
  this.certs = certs;
 }

 public List<ResumeDownload> getDownloads() {
  return downloads;
 }

 public void setDownloads(List<ResumeDownload> downloads) {
  this.downloads = downloads;
 }

 /**
     * 獲取 簡歷資訊編號 的值
     * @return String
     */
    public String getId() {
        return id;
    }
   
    /**
     * 設定簡歷資訊編號 的值
     * @param String id
     */
    public ResumeInfo setId(String id) {
        this.id = id;
        return this;
    }

    /**
     * 獲取 技能編號 的值
     * @return String
     */
    public String getAbilityid() {
        return abilityid;
    }
   
    /**
     * 設定技能編號 的值
     * @param String abilityid
     */
    public ResumeInfo setAbilityid(String abilityid) {
        this.abilityid = abilityid;
        return this;
    }

    /**
     * 獲取 技能關鍵字 的值
     * @return String
     */
    public String getAbilitykey() {
        return abilitykey;
    }
   
    /**
     * 設定技能關鍵字 的值
     * @param String abilitykey
     */
    public ResumeInfo setAbilitykey(String abilitykey) {
        this.abilitykey = abilitykey;
        return this;
    }

    /**
     * 獲取 求職者姓名 的值
     * @return String
     */
    public String getJobseeker() {
        return jobseeker;
    }
   
    /**
     * 設定求職者姓名 的值
     * @param String jobseeker
     */
    public ResumeInfo setJobseeker(String jobseeker) {
        this.jobseeker = jobseeker;
        return this;
    }

    /**
     * 獲取 性別 的值
     * @return Object
     */
    public Object getSex() {
        return sex;
    }
   
    /**
     * 設定性別 的值
     * @param Object sex
     */
    public ResumeInfo setSex(Object sex) {
        this.sex = sex;
        return this;
    }

    /**
     * 獲取 簡歷來源 的值
     * @return String
     */
    public String getSource() {
        return source;
    }
   
    /**
     * 設定簡歷來源 的值
     * @param String source
     */
    public ResumeInfo setSource(String source) {
        this.source = source;
        return this;
    }

    /**
     * 獲取 應聘崗位 的值
     * @return String
     */
    public String getApplyjob() {
        return applyjob;
    }
   
    /**
     * 設定應聘崗位 的值
     * @param String applyjob
     */
    public ResumeInfo setApplyjob(String applyjob) {
        this.applyjob = applyjob;
        return this;
    }

    /**
     * 獲取 出生日期 的值
     * @return Date
     */
    public Date getBirthday() {
        return birthday;
    }
   
    /**
     * 設定出生日期 的值
     * @param Date birthday
     */
    public ResumeInfo setBirthday(Date birthday) {
        this.birthday = birthday;
        return this;
    }

    /**
     * 獲取 身份證號碼 的值
     * @return String
     */
    public String getIdentifynum() {
        return identifynum;
    }
   
    /**
     * 設定身份證號碼 的值
     * @param String identifynum
     */
    public ResumeInfo setIdentifynum(String identifynum) {
        this.identifynum = identifynum;
        return this;
    }

    /**
     * 獲取 手機號碼 的值
     * @return String
     */
    public String getPhone() {
        return phone;
    }
   
    /**
     * 設定手機號碼 的值
     * @param String phone
     */
    public ResumeInfo setPhone(String phone) {
        this.phone = phone;
        return this;
    }

    /**
     * 獲取 電子郵件 的值
     * @return String
     */
    public String getEmail() {
        return email;
    }
   
    /**
     * 設定電子郵件 的值
     * @param String email
     */
    public ResumeInfo setEmail(String email) {
        this.email = email;
        return this;
    }

    /**
     * 獲取 最高學歷 的值
     * @return String
     */
    public String getEducation() {
        return education;
    }
   
    /**
     * 設定最高學歷 的值
     * @param String education
     */
    public ResumeInfo setEducation(String education) {
        this.education = education;
        return this;
    }

    /**
     * 獲取 畢業專業 的值
     * @return String
     */
    public String getProfession() {
        return profession;
    }
   
    /**
     * 設定畢業專業 的值
     * @param String profession
     */
    public ResumeInfo setProfession(String profession) {
        this.profession = profession;
        return this;
    }

    /**
     * 獲取 畢業院校 的值
     * @return String
     */
    public String getSchool() {
        return school;
    }
   
    /**
     * 設定畢業院校 的值
     * @param String school
     */
    public ResumeInfo setSchool(String school) {
        this.school = school;
        return this;
    }

    /**
     * 獲取 畢業日期 的值
     * @return Date
     */
    public Date getGraduationdate() {
        return graduationdate;
    }
   
    /**
     * 設定畢業日期 的值
     * @param Date graduationdate
     */
    public ResumeInfo setGraduationdate(Date graduationdate) {
        this.graduationdate = graduationdate;
        return this;
    }

    /**
     * 獲取 簡歷附件 的值
     * @return String
     */
    public String getAnnex() {
        return annex;
    }
   
    /**
     * 設定簡歷附件 的值
     * @param String annex
     */
    public ResumeInfo setAnnex(String annex) {
        this.annex = annex;
        return this;
    }

    /**
     * 獲取 簡歷備註 的值
     * @return String
     */
    public String getRemark() {
        return remark;
    }
   
    /**
     * 設定簡歷備註 的值
     * @param String remark
     */
    public ResumeInfo setRemark(String remark) {
        this.remark = remark;
        return this;
    }

    /**
     * 獲取 上傳部門 的值
     * @return String
     */
    public String getUploaddept() {
        return uploaddept;
    }
   
    /**
     * 設定上傳部門 的值
     * @param String uploaddept
     */
    public ResumeInfo setUploaddept(String uploaddept) {
        this.uploaddept = uploaddept;
        return this;
    }

    /**
     * 獲取 上傳人員 的值
     * @return String
     */
    public String getUploadstaff() {
        return uploadstaff;
    }
   
    /**
     * 設定上傳人員 的值
     * @param String uploadstaff
     */
    public ResumeInfo setUploadstaff(String uploadstaff) {
        this.uploadstaff = uploadstaff;
        return this;
    }

    /**
     * 獲取 上傳日期 的值
     * @return Object
     */
    public Object getUploaddate() {
        return uploaddate;
    }
   
    /**
     * 設定上傳日期 的值
     * @param Object uploaddate
     */
    public ResumeInfo setUploaddate(Object uploaddate) {
        this.uploaddate = uploaddate;
        return this;
    }

    /**
     * 獲取 簡歷保護期 的值
     * @return Object
     */
    public Object getProtectiondate() {
        return protectiondate;
    }
   
    /**
     * 設定簡歷保護期 的值
     * @param Object protectiondate
     */
    public ResumeInfo setProtectiondate(Object protectiondate) {
        this.protectiondate = protectiondate;
        return this;
    }

    /**
     * 獲取 簡歷保護期 的值
     * @return Object
     */
    public Object getStatus() {
        return status;
    }
   
    /**
     * 設定簡歷保護期 的值
     * @param Object status
     */
    public ResumeInfo setStatus(Object status) {
        this.status = status;
        return this;
    }

    /**
     * 獲取 照片路徑 的值
     * @return String
     */
    public String getPhotoresource() {
        return photoresource;
    }
   
    /**
     * 設定照片路徑 的值
     * @param String photoresource
     */
    public ResumeInfo setPhotoresource(String photoresource) {
        this.photoresource = photoresource;
        return this;
    }

    /**
     * 獲取 技術特長 的值
     * @return String
     */
    public String getAbilitydes() {
        return abilitydes;
    }
   
    /**
     * 設定技術特長 的值
     * @param String abilitydes
     */
    public ResumeInfo setAbilitydes(String abilitydes) {
        this.abilitydes = abilitydes;
        return this;
    }

    /**
     * 獲取 個人評價 的值
     * @return String
     */
    public String getEvaluate() {
        return evaluate;
    }
   
    /**
     * 設定個人評價 的值
     * @param String evaluate
     */
    public ResumeInfo setEvaluate(String evaluate) {
        this.evaluate = evaluate;
        return this;
    }

    /**
     * 獲取 簡歷狀態(0可用、1招聘中、2帶入職、3已入職) 的值
     * @return Integer
     */
    public Integer getReumestate() {
        return reumestate;
    }
   
    /**
     * 設定簡歷狀態(0可用、1招聘中、2帶入職、3已入職) 的值
     * @param Integer reumestate
     */
    public ResumeInfo setReumestate(Integer reumestate) {
        this.reumestate = reumestate;
        return this;
    }


 public String toString() {
        StringBuffer sb = new StringBuffer();
        sb.append(this.getClass().getName());
        sb.append("; id=" + (id == null ? "null" : id.toString()));
        sb.append("; abilityid=" + (abilityid == null ? "null" : abilityid.toString()));
        sb.append("; abilitykey=" + (abilitykey == null ? "null" : abilitykey.toString()));
        sb.append("; jobseeker=" + (jobseeker == null ? "null" : jobseeker.toString()));
        sb.append("; sex=" + (sex == null ? "null" : sex.toString()));
        sb.append("; source=" + (source == null ? "null" : source.toString()));
        sb.append("; applyjob=" + (applyjob == null ? "null" : applyjob.toString()));
        sb.append("; birthday=" + (birthday == null ? "null" : birthday.toString()));
        sb.append("; identifynum=" + (identifynum == null ? "null" : identifynum.toString()));
        sb.append("; phone=" + (phone == null ? "null" : phone.toString()));
        sb.append("; email=" + (email == null ? "null" : email.toString()));
        sb.append("; education=" + (education == null ? "null" : education.toString()));
        sb.append("; profession=" + (profession == null ? "null" : profession.toString()));
        sb.append("; school=" + (school == null ? "null" : school.toString()));
        sb.append("; graduationdate=" + (graduationdate == null ? "null" : graduationdate.toString()));
        sb.append("; annex=" + (annex == null ? "null" : annex.toString()));
        sb.append("; remark=" + (remark == null ? "null" : remark.toString()));
        sb.append("; uploaddept=" + (uploaddept == null ? "null" : uploaddept.toString()));
        sb.append("; uploadstaff=" + (uploadstaff == null ? "null" : uploadstaff.toString()));
        sb.append("; uploaddate=" + (uploaddate == null ? "null" : uploaddate.toString()));
        sb.append("; protectiondate=" + (protectiondate == null ? "null" : protectiondate.toString()));
        sb.append("; status=" + (status == null ? "null" : status.toString()));
        sb.append("; photoresource=" + (photoresource == null ? "null" : photoresource.toString()));
        sb.append("; abilitydes=" + (abilitydes == null ? "null" : abilitydes.toString()));
        sb.append("; evaluate=" + (evaluate == null ? "null" : evaluate.toString()));
        sb.append("; reumestate=" + (reumestate == null ? "null" : reumestate.toString()));

        return sb.toString();
    }
}

相關推薦

mybatis關聯查詢實現物理

 mapper.xml <resultMap id="BaseResultMapOneToManey" type="cn.howso.resume.resume.entity.ResumeInfo">         <id column="ID" j

MyBatis功能的實現陣列、sql、攔截器,RowBounds

前言:學習hibernate & mybatis等持久層框架的時候,不外乎對資料庫的增刪改查操作。而使用最多的當是資料庫的查詢操

html查詢實現案例

這裡主要運用了pagehelper的分頁外掛,大家可以在這個網址檢視怎麼使用:https://pagehelper.github.io/docs/howtouse/?tdsourcetag=s_pctim_aiomsg,下面我就拿我自己寫的一個案例給大家講一下 主要運用的技術:Mybatis+pagehelp

spring data jpa 多UNION ALL查詢按條件排序處理:未搜到方法,解決後記錄:2018年11月13日15:22:00

需求:Mysql資料庫 有不同屬性的兩張表,需要進行按某個條件查詢,結果合併排序分頁。 讓產品把兩個表分成兩段展示各查各的,分開來。 產品經理說能實現:產品寫sql 聯合查詢, A UNION AL

MySQL語句執行優化及查詢優化,分庫

下面是關於在使用SQL時,我們儘量應該遵守的規則,這樣可以避免寫出執行效率低的SQL 1、當只需要一條資料時,使用limit 1      在我們執行查詢時,如果添加了 Limit 1,那麼在查詢的時候,在篩選到一條資料時就會停止繼續查詢,但是如果沒有新增limit 1即

不同資料庫的查詢實現方法總結

分頁查詢是資料庫查詢中經常用到的一項操作,對查詢出來的結果進行分頁查詢可以方便瀏覽。那麼Oracle、SQL Server、MySQL是如何實現查詢的呢?本文我們就來介紹這一部分內容。 首先我們先看一下SQL Server 資料庫中SQL語句查詢分頁資料的解決方案:

Kotlin實戰案例:帶你實現RecyclerView查詢功能仿照主流電商APP,可切換列表和網格效果

隨著Kotlin的推廣,一些國內公司的安卓專案開發,已經從Java完全切成Kotlin了。雖然Kotlin在各類程式語言中的排名比較靠後(據TIOBE釋出了 19 年 8 月份的程式語言排行榜,Kotlin竟然排名45位),但是作為安卓開發者,掌握該語言,卻已是大勢所趨了。 Kotlin的基礎用法,整

jQuery 插件jQuery.pagination.jsajax 實現

height var 實現 before 狀態 pin 好的 調用 是否 首先需要引入jQuery 再次需要引入 <script src="jquery/jquery.pagination.js"></script>同時也要引入 <link r

java實現後臺工具類和前臺jsp頁面

cal else static pre cti per servle reac tint 1、首先,新建一個類Page.java 1 public class Page implements Serializable { 2 private static fi

SSM框架下實現封裝page.java和List<?>

添加 interface jsp頁面 har show 初始化 ring array dex 之前寫過一篇博客 java分頁的實現(後臺工具類和前臺jsp頁面),介紹了分頁的原理。 今天整合了Spring和SpringMVC和MyBatis,做了增刪改查和分頁,之前的邏輯

在STM32上實現NTFS之4:GPT的C語言實現1:主GPT表頭的實現

center mbr分區 sum 對齊 字節數 決定 容器 alt 水平 題外話:在荒廢了很久沒有更新之後……某日突然收到讀者的站內信!內容大體是詢問GPT分區表信息的讀取方式,筆者激動萬分之下,決定繼續解剖NTFS……其實GPT嚴格上不算是NTFS的內容, GPT和M

在STM32上實現NTFS之5:GPT的C語言實現2GPT實現以及統一方式讀取磁盤

tfs 下載 數據 特殊 dpt 屬性列表 handle 系統分區 成了   上一節實現了主GPT頭的信息提取,這一節繼續提取整個的GPT數據,並且將GPT分區表和MBR分區表兩種格式融合成一個模塊,使主調函數(也可以說是使用者)不需要關心磁盤的分區表類型:它太底層了,確實

例項:建立一個表格,顯示資料MongoDB資料庫儲存,功能:實現增刪改查

需求:建立一個表格,分頁顯示資料,功能:實現增刪改查 效果圖: 自動建立一個專案 命令列: express mongodb-demo --view=ejs cd mongodb-demo npm install npm install mongodb --save npm sta

6-2 折半查詢實現 10

給一個嚴格遞增數列,函式Search_Bin(SSTable ST, KeyType key)用來二分地查詢key在數列中的位置。 函式介面定義: Search_Bin(SSTable ST, KeyType key) 其中ST是有序表,key是查詢的值 裁判測試程式樣例:

django查詢及對已經的資料進行查詢,對條件查詢後的資料再次

#適用於妹子UI的分頁前端,其他的也沒問題,稍做修改即可 #對已經分頁的資料進行查詢,對查詢後的資料再次進行分頁 #思路:url請求除了需要帶current page 還需要帶查詢的內容,以此判斷是否查詢後的資料分頁 直接上程式碼: pages:包含兩個類1. Pagination表示對全部

1-3 折半查詢實現 10

給一個嚴格遞增數列,函式Search_Bin(SSTable ST, KeyType key)用來二分地查詢key在數列中的位置。 函式介面定義: Search_Bin(SSTable ST, KeyType key) 其中ST是有序表,key是查詢的值 裁判測試程式樣例: #

SSM框架下實現封裝page.java和List

1 <%@page import="com.bwlu.common.Page"%> 2 <%@ page language="java" contentType="text/html; charset=UTF-8" 3 pageEncoding="UTF-8"%>

asp.net Mvc4 使用ajax結合外掛實現無重新整理

本文為在mvc4中使用ajax實現無重新整理分頁demo,記錄一下。 解決方案思想:頁面資料的初始載入和按頁載入都是通過ajax來進行,頁面分頁連結點選後利用ajax技術傳送當前頁碼到後端控制器,後端控制器根據當前頁碼和設定的pageSize從資料庫中取出對應頁的資料。

django 效果實現djangorestframework內建以及django內建方法

restframework的分頁需要再setting 中新增一個 REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': (

oracle 查詢和sql server 查詢 的sql語句

oracle: SELECT * FROM ( SELECT TEMP.* ,ROWNUM RN FROM ( 表) TEMP WHERE ROWNUM <=currentPage * perPageRows ) WHERE RN >  (currentPage