mybatis查詢物件集合注意事項
第一步:LiveRateMapper裡面定義查詢方法:
通過物件作為引數查詢物件集合
List<LiveRatePage> findAllLiveRate(LiveRatePage liveRatePage);
第二步:根據查詢條件寫出正確的sql語句:
select (@i:[email protected]+1) as rank,a.* from (select DATE_FORMAT(l.CREATE_DT , '%Y-%m-%d')CREATE_DT,l.DAY_AGE,l.FARMER_NAME,l.LIVE_RATE,l.AREA FROM liverate l WHERE
DATE_FORMAT(l.CREATE_DT , '%Y-%m-%d') >=DATE_FORMAT('2017-06-01','%Y-%m-%d')
and DATE_FORMAT(l.CREATE_DT , '%Y-%m-%d')<=DATE_FORMAT('2017-06-10','%Y-%m-%d')
ORDER BY l.LIVE_RATE desc
LIMIT 0,20)a,(select @i:=0) as it
;
第三步:LiveRateMapper.xml定義查詢語句:
改寫mybatis動態sql
<select id="findAllLiveRate" resultMap="BaseResultMap2" parameterType="com.znyq.wfCloud.admin.pageModel.LiveRatePage">
select (@i:[email protected]+1) as rank,a.* from (select DATE_FORMAT(l.CREATE_DT , '%Y-%m-%d')CREATE_DT,l.DAY_AGE,l.FARMER_NAME,l.LIVE_RATE,l.AREA
FROM liverate l
WHERE 1 = 1
<if test="date1 != null and ''!= date1">
<![CDATA[ and DATE_FORMAT(l.CREATE_DT, '%Y-%m-%d') >=DATE_FORMAT(#{date1},'%Y-%m-%d') ]]>
</if>
<if test="date2 != null and ''!= date2">
<![CDATA[ and DATE_FORMAT(l.CREATE_DT, '%Y-%m-%d') <=DATE_FORMAT(#{date2},'%Y-%m-%d') ]]>
</if>
ORDER BY l.LIVE_RATE desc
limit #{curSize},#{pageSize})a,(select @i:=0) as it
</select>
第四步:配置正確返回物件屬性
<resultMap id="BaseResultMap2" type="com.znyq.wfCloud.admin.pageModel.LiveRatePage" >
<result column="rank" property="rank" jdbcType="VARCHAR" />
<result column="DAY_AGE" property="dayAge" jdbcType="VARCHAR" />
<result column="LIVE_RATE" property="liveRate" jdbcType="VARCHAR" />
<result column="FARMER_NAME" property="farmerName" jdbcType="VARCHAR" />
<result column="AREA" property="area" jdbcType="VARCHAR" />
<result column="CREATE_DT" property="rankDate" jdbcType="VARCHAR" />
</resultMap>
物件:LiveRatePage
屬性:private String dayAge;
public String getDayAge() {
return dayAge;
}
public void setDayAge(String dayAge) {
this.dayAge = dayAge;
}
ps物件的其他屬性和set,get省略了,注意的地方我都標紅了查詢的id要唯一
返回的結果集配置id要唯一對應,查詢的列欄位和物件屬性要注意對應
相關推薦
mybatis查詢物件集合注意事項
第一步:LiveRateMapper裡面定義查詢方法: 通過物件作為引數查詢物件集合 List<LiveRatePage> findAllLiveRate(LiveRatePage liveRatePage); 第二步:根據查詢條件寫出正確的sql語句: se
Mybatis List列表In查詢實現的注意事項
上圖中標紅的兩處,很驚訝的發現,一個引數與多個引數的處理方式是不同的(後續很多同學遇到的問題,就有一大部分出自這個地方)。如果引數個數大於一個,則會被封裝成Map, key值如果使用了Mybatis的 Param註解,則會使用該key值,否則預設統一使用資料序號,從1開始。這個問題先記下,繼續分析程式碼,接
mybatis寫mapper檔案注意事項
xml中某些特殊符號作為內容資訊時需要做轉義,否則會對檔案的合法性和使用造成影響 Html程式碼 < < >&n
mybatis selectMap方法使用注意事項
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
mybatis 返回主鍵注意事項
有時候當一條記錄插入之後,需要用到當前記錄的id, 方法有二: 一:插入當前記錄之後,在根據條件去表中查詢; 二:插入記錄時直接返回主鍵; 第一種方法就不說了,我就說說第二種方法: <insert id="insert
EL表示式中關於四個作用域物件的注意事項!
主要說明獲取作用域資料獲取這方面的注意事項! 傳統方式獲取作用域資料缺點: 需要匯入java包 需要將型別強制轉換 書寫麻煩容易出現問題 使用EL表示式就可以完美解決傳統方式的缺點: 作用:獲取四個作用物件中的資料,其他宣告的變數不予理會,只獲取下邊四個作用域中
初次使用Mybatis的理解以及注意事項
原生的開發模式 使用原生模式開發的時候,通常是這個過程: 1、通常會建立實體類,每一個實體類對應一張表。 2、為一個實體類建立一個dao的介面 3、建立一個實現dao介面的實現類 4、建立一個處理業務邏輯service介面 5、建立一個類,用來實現service介面。
JAVA集合注意事項-Set
所有的Java集合類都位於java.util包下 集合裡只能儲存物件 Set中元素不能重複 List類似陣列且其長度可變 Map儲存鍵值對 Collection是List,Set,Queue介面的父介面 所有Collection都重寫了toString()方法 當
使用easyui datagrid框架的查詢功能,注意事項!
使用datagrid框架的查詢功能時候,它對應的後臺控制器處理方法就是datagrid的url對應的控制層處理方法,所以在控制層的需要對按這個條件進行的查詢做出對應的處理。在下面的例子中,就是在路徑 url="${pageContext.request.contextPath}/Produ
mybatis寫xml時注意事項
mybatis寫xml時注意事項: 1. 如果資料庫欄位中有關鍵字,使用`關鍵字`,最好是隻要是欄位就用``符號,可以減少很多錯誤 2. 如果更新的欄位中有 時間戳,更新時,使用如下(加上jdbcType可以防止出錯): <if test="updateTime !=null"> &
mybatis中陣列傳遞注意事項--簡
mybatis傳遞陣列資料---本人瞭解兩種 第一種:直接傳遞陣列資料 mapper中的配置: <delete id="deleteBrandByIdsArray" parameterT
sql查詢case when 注意事項
第一種case when A is null then 'false' else 'true' end 第二種case A when null then 'false' else 'true' end 這兩種語法沒錯,但是判斷null必須用第一種
ORACLE資料庫查詢語句使用注意事項
2、儘量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替。 3、不用NOT IN操作符,可以用NOT EXISTS或者外連線+替代。 4、Oracle在執行IN子查詢時,首先執行子查詢,將查詢結果放入臨時表再執行主查詢。而EXIST則是首先檢查主查詢,然後執行子查詢直到找到第一個匹配項。NOT
c++常成員函式和常物件的注意事項
1.什麼是常成員函式 常成員函式,它就是在成員函式後面加一個const,用來修飾this指標所指的物件,使this指標所指的物件不受更改,保護它的資料安全。當常成員函式沒有引數的時候修飾的是this指標,有引數的時候就是修飾的引數和this!!反正就是不能變一切!! 除非
struts2接收javabean物件時注意事項
struts2在接收javabean物件的時候,action的中的屬性既要有get方法也要有set方法,不然只能接收到一個屬性。 示例如下: xtype: 'form', itemId : '
myBatis開發注意事項(二)查詢某元素是否在集合中
一般的,如果1張表的ID是1個欄位,當我們要在b表中查詢a表ID的資料時,可以這樣寫:select * from TableA as a left TableB as b on a.id = b.id如果,d表中的ID有2個欄位組成,borrowApplyId和current
mybatis查詢結果集,返回List的物件集合
mapper介面中寫的方法的返回值為List的物件陣列首先需要在mapper.xml中對映一個resultmap,column為類中的屬性也就是表中所對應的欄位。程式碼如下:<resultMap id="seeShare" type="com.example.demo.
mybatis查詢的結果集物件中包含物件和集合的用法
平時專案中使用mybatis查詢資料庫,物件結果集可能比較複雜,物件中巢狀物件或者集合。 如下圖所示,返回結果集物件project中包含其他子物件(查詢的主表與關聯子表資料一對一關係)和list集合(查詢的主表與關聯子表資料一對多關係): 解決方案: 物件下面巢狀的物件採用<
關於mybatis查詢集合返回為[null]的問題
sql查詢 http 分享圖片 null ima 必須 如果 lis bubuko 最近項目當中做功能遇到查詢集合list為null,判非空卻還是進入了非空的判斷裏面,後面才知道sql查詢中 如果你是查詢幾個字段,必須加上不為空,否則sql查詢前面的值是有值得,只是恰巧你查
Mybatis查詢結果List集合數量正確,但全為null
最近在把一些之前做過的專案改成SSM框架,在一個簡單的查詢SQL中,出現了沒有查詢結果的情況(返回值為POJO),經過不斷的測試,發現集合的數量正確,但是值全為NULL,在參考了很多的網上的例項後,東改瞎改也沒有效果。 TeachDao.java TeachDao.xml TeachS