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.js)ajax 實現分頁
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語言實現(2)GPT實現以及統一方式讀取磁盤分區
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