按條件查詢的時候,Id預設為0 的情況
這種不帶引數查詢的時候,它會建立一個payformation物件,而這個物件Id預設為0;而在建立的物件它的id就有值了,然後進行查詢
WHERE
1=1
ID=0
這樣查詢出來的就不是全部的,只是查ID=0的。並且如果是按引數查詢不按id查詢,他也會對ID進行設定,比如:
WHERE
1=1
AND custmerId = 12341278L
AND ID = 0L
依然會帶著id=0,上面說的是按customerId進行查詢,同樣對id也進行了設定,這就會出現問題。
解決辦法,統一在Mapper中加一句判斷語句。
<if test="@[email protected](metalId) and metalId != 0"> AND ID =#{id} </if>
package org.haze.bpsms.balance; import org.haze.base.util.UniqueIdUtil; import org.haze.bpsms.base.BaseSpringJUnitTest; import org.haze.bpsms.balance.model.PaymentInformation; import org.haze.bpsms.balance.service.PaymentInformationService; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.springframework.util.Assert; import javax.annotation.Resource; import java.util.Date; import java.util.List; public class PaymentInformationServiceTest extends BaseSpringJUnitTest { @Resource private PaymentInformationService paymentInformationService; private static Long id1; @Before public void setUp(){ try { id1 = UniqueIdUtil.genId(); }catch (Exception e){ e.printStackTrace(); } } @After public void des(){ } @Test public void testInsert(){ try { PaymentInformation paymentInformation = new PaymentInformation(); paymentInformation.setPaymentId(id1); paymentInformation.setDepartmentId(6876L); paymentInformation.setCustomerId(1533200726011L); paymentInformation.setUserId(13234L); paymentInformation.setDocDate(new Date()); paymentInformation.setKind("收入"); paymentInformation.setExpenses(32145.34); paymentInformation.setStatusKey("wouldApproval"); paymentInformation.setDocumentCode("1530684656644"); paymentInformationService.insert(paymentInformation); /*使用引數查詢,並檢驗是否insert正確*/ paymentInformation.setDocDate(null); List<PaymentInformation> list = paymentInformationService.select(paymentInformation); Assert.notNull(list); Assert.isTrue(list.size() >= 1 ); } catch (Exception e) { /*執行出錯則驗證失敗*/ Assert.isTrue(false); } } @Test public void testSelect() { try { Assert.notNull(paymentInformationService); /*不帶引數查詢*/ PaymentInformation paymentInformation = new PaymentInformation(); paymentInformation.setPaymentId(null); List<PaymentInformation> list = paymentInformationService.select(paymentInformation); Assert.notNull(list); Assert.isTrue(list.size() > 0); /*帶引數查詢,可以帶多個引數,測試mapper中的select */ paymentInformation.setPaymentId(1533364181668L); list = paymentInformationService.select(paymentInformation); Assert.isTrue(list.size() >= 1 ); } catch (Exception e) { // e.printStackTrace(); Assert.isTrue(false); } } @Test public void testUpdate(){ try { PaymentInformation paymentInformation = new PaymentInformation(); paymentInformation.setPaymentId(1533361470888L); paymentInformation.setDepartmentId(6876L); paymentInformation.setCustomerId(1533200726011L); paymentInformation.setUserId(13234L); paymentInformation.setDocDate(new Date()); paymentInformation.setKind("收入"); paymentInformation.setExpenses(32145.34); paymentInformation.setStatusKey("wouldApproval"); paymentInformation.setDocumentCode("1530684656644"); paymentInformationService.update(paymentInformation); /*使用引數查詢,並檢驗是否update正確*/ paymentInformation.setDocDate(null); List<PaymentInformation> list = paymentInformationService.select(paymentInformation); Assert.notNull(list); Assert.isTrue(list.size() >= 1 ); } catch (Exception e) { /*執行出錯則驗證失敗*/ Assert.isTrue(false); } } @Test public void testSelectOne(){ try { /* 測試 使用id作為引數的查詢 ,僅返回最多一個結果*/ PaymentInformation paymentInformation = paymentInformationService.selectOne(1533361470888L); Assert.isTrue(paymentInformation.getDocumentCode().equalsIgnoreCase("1530684656644")); } catch (Exception e) { Assert.isTrue(false); // e.printStackTrace(); } } @Test public void testDelete(){ try { /*使用單個id引數測試刪除*/ String ids = "1533361494175"; paymentInformationService.delById(ids); /*使用多個id引數測試刪除,中間不能包含空格*/ ids = "1533355561092,1533360107486"; paymentInformationService.delById(ids); } catch (Exception e) { e.printStackTrace(); Assert.isTrue(false); } } }
相關推薦
按條件查詢的時候,Id預設為0 的情況
這種不帶引數查詢的時候,它會建立一個payformation物件,而這個物件Id預設為0;而在建立的物件它的id就有值了,然後進行查詢 WHERE 1=1 ID=0 這樣查詢出來的就不是全部的,只是查
ORACLE因為字符集不同,進行中文條件查詢,查詢結果為空
查詢 數據服務 span code oracl 字符串 客戶 not null lec 在使用C#進行SQL語言或者ASP.NET進行ORACLE數據查詢;當查詢條件有中文存在時,因為數據服務端和客戶端/本機的字符集不同,數據表存在數據,但查詢不出來數據。但使用連接Orac
MyBaits基本操作,為什麽session.commit()可以引起事物提交?ResultMap結果映射,執行添加後返回自增列的值,多條件查詢,智能標簽,工具類
info log list image mit fault 類型 工具類 自增列 1.為什麽session.commit()可以引起事務的提交? 首先打開commit()源碼,ctrl+H打開它的實現類DefaultSession,找到它的commit方法 ctrl+左鍵
zlevel分層,數值大的覆蓋數值小的,預設為0
zlevel用於 Canvas 分層,不同zlevel值的圖形會放置在不同的 Canvas 中,Canvas 分層是一種常見的優化手段。 我們可以把一些圖形變化頻繁(例如有動畫)的元件設定成一個單獨的zlevel。 需要注意的是過多的 Canvas 會引起記憶體開銷的增大,在手機端上需要
spring-data-jpa分頁排序,按條件查詢
public void pageAndSort(int page,int size) { //但條件查詢 Page<Stu> stus = stuDao.findAll(new PageRequest(page,size, Sor
java操作mongdb多條件複合查詢(包括模糊查詢和按時間段查詢),分頁
最近學了下mongdb,在這兒先和大家分享一下java操作mongdb的多條件查詢,包括模糊查詢,完全匹配查詢和按時間段查詢,以及分頁。 MongoDB是一個介於關係資料庫和非關係資料庫之間的產品,是非關係資料庫當中功能最豐富,最像關係資料庫的。他支援的資料結構非常鬆散,
SQL Server 檢測到基於一致性的邏輯 I/O 錯誤 pageid 不正確(應為 1:1772,但實際為 0:0)。在文件 'D:Program FilesMicrosoft SQL Ser
red 完成 sdn blank net tools ocl views 偏移 SQL Server 檢測到基於一致性的邏輯 I/O 錯誤 pageid 不正確(應為 1:1772,但實際為 0:0)。在文件 ‘D:\Program Files\Microsoft S
sql存儲過程,根據多個條件查詢,返回一個dataTable或者DataSet
bold new exc cnblogs 所有 sql存儲過程 存儲 ring table 不廢話,先直接代碼 首先sql部分(我在這裏加了一個@zx作為判斷,一般不需要這個參數): ALTER Proc [dbo].[Proc_Boss_Show] @StrIndex
8.修改 按條件查詢商品 分頁
edi spl stat htm != pic check ren lib 修改商品的原理圖 jsp頁面 edit.jsp <%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib pre
MyBatis的基本操作(02)-----Seeeion.commit引起事務的提交,多條件查詢,智能標簽的應用,ResultMap結果映射
作用 ces spa 返回 -s != ray like cep 一,為什麽session.commit()可以引起事務的提交? 進入commit()方法查看源碼 進入SqlSession.class文件之後,Ctrl+H彈出右邊的框,選擇DeFaultSqlSessio
Java 數組 要求將以上數組中的 0 項去掉,將不為 0 的值存入一個新的數組
pac 數組 system 靜態 args 將不 pub bsp clas package com.xuyigang1234.chp01; public class Demo9 { public static void main(String[] args) {
Hibernate 的hql 查詢,然後轉換為物件
Hibernate 的hql 查詢,如果繫結的話,一下查詢,會查詢所有繫結的資料。這個不用多說,但是,如果查詢的時候,因為前臺需要展示出來,但是,關聯關係比較複雜,到時候,展示出來也比較複雜。比如我用的是easyui展示到datagrid 中。那個需要轉化。雖然轉化比較簡單,但是,每一個
CF E. Vasya and a Tree】 dfs+樹狀陣列(給你一棵n個節點的樹,每個點有一個權值,初始全為0,m次操作,每次三個數(v, d, x)表示只考慮以v為根的子樹,將所有與v點距離小於等於d的點權值全部加上x,求所有操作完畢後,所有節點的值)
題意: 給你一棵n個節點的樹,每個點有一個權值,初始全為0,m次操作,每次三個數(v, d, x)表示只考慮以v為根的子樹,將所有與v點距離小於等於d的點權值全部加上x,求所有操作完畢後,所有節點的值 首先要明確兩件事情性質1.每個人的操作只會影響到他的子孫(包括自己) 性質1.每個人的操
使用通用mapper按條件查詢分頁資料(包含Example的使用)
1 步驟: 分頁 , 新增條件, 返回page物件, 封裝為需要的物件 2 一般分頁資料需要三個引數: 總頁數, 總條數, 物件的集合, 因此可以建立一個通用類,封裝上面的三個引數,具體如下:&nb
uglifyjs-webpack-plugin外掛,drop_console預設為false(不清除console語句),drop_debugger預設為true(清除debugger語句)
uglifyjs-webpack-plugin外掛,drop_console預設為false(不清除console語句),drop_debugger預設為true(清除debugger語句) https://github.com/webpack-contrib/uglifyjs-webpack-plug
mybatis連線資料庫進行查詢,返回物件為null
*Mapper.xml中程式碼 <select id="query" parameterType="int" resultType="User"> select username , password from user where id=#{id} </select
C#,匯出Excel時,第一個為0時不顯示,
只需在前面加上單引號 " ' "可,如下 dcv[2] ="'" +drBH["BH_CHDZ"].ToString(); ;//補貨倉 詳細程式碼如下: private void Report_BHD_Excel_MB()//轉Excel模板; {
guns按行查詢,分頁查詢,分頁模糊查詢,模糊查詢
@ApiOperation(value = "測試") @RequestMapping(value = "/test",method = RequestMethod.POST) @ResponseBody public Object test() {
給定一個二叉樹,節點值為0-9,從根節點到葉子結點組成一個數,求二叉樹所有組成的數的和
根節點 到葉子節點組成一個數 前序遍歷 每層的值都為上一層*10+本層結點的值 int sumNumbers(TreeNode *root) { int sum=0; if(root==NULL) re
Mybatis動態SQL 條件查詢,批量刪除
比如說某寶的搜尋。可以新增選擇的嘛。也就是where 後面的條件。如果有12種條件。要是全一個一個寫那是要寫很多哦。mybatis就有動態sql。根據條件組合sql語句。 首先建立個前端頁面 <!DOCTYPE html> <html&