1. 程式人生 > >用mybatis更新資料,當資料為0時,無法更新

用mybatis更新資料,當資料為0時,無法更新

在bean中,count是long型別:

private Long count;

需求就是利用下面的更新語句更新bills表中的count和amout

<update id="updateBills" parameterType="map" >
  UPDATE bills 
  <set>
  <if test="count != null and count != ''">
     count = #{count,jdbcType=NUMERIC},
  </if>
  <if test="amount != null and amount != ''"
> amount = #{amount,jdbcType=NUMERIC}, </if> update_time = now() </set> where id = #{id,jdbcType=VARCHAR} and bill_date = to_date(#{billDate,jdbcType=DATE},'yyyy-MM-dd')) </update>

問題出現了:

Map<Object, Object> updateMap = new HashMap<Object, Object>();
updateMap .put("id", bills.getId()); updateMap .put("billDate",dateString); updateMap .put("amount", bills.getAmount()); updateMap .put("count",bills.getCount()); billsDao.updateBills(updateMap);

當bills.getCount()等於0時,就是無法更新,所以我不得不做了以下判斷,然後就有效的解決了這個問題,但是因為什麼呢?我也不知道!

Map<Object, Object> updateMap = new HashMap<Object, Object>();
updateMap .put("id", bills.getId()); updateMap .put("billDate",dateString); updateMap .put("amount", bills.getAmount()); if(0 == bills.getHisCount()){ updateMap .put("count",0); }else{ updateMap .put("count",bills.getCount()); } billsDao.updateBills(updateMap);

相關推薦

Java過載函式引數null呼叫的處理

精確性原則 關於以下程式的輸出結果: public class TestNull { public void show(String a){ System.out.println("String"); } public void show(Object o)

C語言之定義一個函式實現對字串做如下操作:字元字母大小寫互換字元數字原樣輸出有其它字元出現時結束操作返回已處理的字串

Action(){       char str[]={"tEst234%^road"};int len = sizeof(str)/sizeof(char);//strTest2呼叫函式lr_output_message("%s",strTest2(str,len)); r

vue-cli + router生成的專案modehistory直接在url中輸入地址頁面訪問404或者重新整理頁面後404

有的時候,業務中會有一些需求,直接在其他地方,比如郵件中提供系統連結,通過點選一個url直接跳轉到我們的系統中來。 在本地開發時,直接輸入對應的url就可以訪問,但是當專案部署在伺服器之後,直接輸入url就會報錯404,這是因為router本身提供的就是一個 虛擬路徑,通過

mybatis更新資料資料0無法更新

在bean中,count是long型別: private Long count; 需求就是利用下面的更新語句更新bills表中的count和amout <update id="updateBills" parameterType="map" >

關於輸入多組測試資料資料0輸入結束

1.while(scanf("%d",&n)!=EOF) EOF在stdio.h中巨集定義為-1; 即有輸入時,迴圈繼續,其實,如無別的條件,一直會“輸入——處理”,“輸入——處理”的迴圈從而

spring boot加mybatis使用Map返回屬性也會沒有(轉)

call pri per n-n spring fig setter 解決 strong 使用spring boot加mybatis時,設置Map返回,當值為空時屬性也會沒有,就會報錯 在application.properties中加入下面配置,將會解決這個問題。

echarts柱狀圖資料0不顯示0 20

label: {     normal: {         show: true,     

編寫一個函數輸入n偶數調方法求1/2+1/4+...+1/n,輸入n奇數調函數1/1+1/3+...+1/n

輸入一個數 stat 需求 ble 運算 color ring sca string 需求:編寫一個函數,輸入n為偶數時,調用方法求1/2+1/4+...+1/n,當輸入n為奇數時,調用函數1/1+1/3+...+1/n package com.Summer_0511

【效能優化】取模運算:x%nn是偶數可以x&(n-1)替代

#include <assert.h> void modulo_operation_opt() { int m = 100000; int n = 100000; double a

mybatis 之 if test 條件引數0查詢條件未輸出

解決方法: 將<if test=" null != tagtype and ‘’!= tagtype">             AND tagtype = #{tagtype} &l

資料來源gridview只顯示錶頭

今天在做網頁時,發現gridview中的資料來源為空時,它不顯示,於是就想,能不能讓它在沒有資料來源的時候也顯示呢? 於是就在網上找資料,找到了很多,但大部分的都寫得比較複雜,經過我不懈的努力,終於找到了幾條看似比較簡單的程式碼,經過我的修改和驗證,效果出來了,現在把這些程式

java 編寫一個函式輸入n偶數呼叫函式求1/2+1/4+...+1/n,輸入n奇數呼叫函式1/1+1/3+...+1/n(利用指標函式)

題目: 編寫一個函式,輸入n為偶數時,呼叫函式求1/2+1/4+…+1/n,當輸入n為奇數時,呼叫函式1/1+1/3+…+1/n(利用指標函式) 程式碼: import java.util.S

mybatis使用時mapper檔案 使用 if 判斷判斷條件出錯導致 條件 0 查詢、修改出錯問題

出錯環境:mybatis中mapper.xml的if條件出錯出錯場景:資料字典的某個欄位 的值為 0 的時候,查詢不正確。        比如 有個欄位為 status,代表狀態,0,為可用, 1,為禁用,當status=1 時,查詢正確,但當status=0時,卻查詢到0和

Mybatis中 Integer 值0默認為空字符串的解決辦法。

and del use 解決辦法 rom flag tis myba jdbc 需求是查詢級別為0的用戶 User對象裏的level字段的值為0,查詢時居然沒有查到為level為0的用戶。 <select id="selectSelective" parameter

ORA-03206表空間不夠如何以添加數據文件的方式擴展表空間

style 創建表空間 mage all 註意 flow ada -- 導入 準備導入一個數據庫,大約為33G,開始創建的空庫表空間為自增到20G,結果自然不夠,然後就開始自動擴展表空間大小 使用的如下語句 --自動擴展表空間大小 ALTER DATABASE DA

C#匯出Excel第一個0不顯示

只需在前面加上單引號 " ' "可,如下 dcv[2] ="'" +drBH["BH_CHDZ"].ToString(); ;//補貨倉 詳細程式碼如下: private void Report_BHD_Excel_MB()//轉Excel模板;         {

Integer型別傳值0在Mapper.xml中被 條件過濾

0引起的風波 昨天寫了一個查詢功能,如下圖,“請選擇”value=“” ,“正常” value=“0” ,“禁用” value=“1” ,查詢的時候“正常”的結果與“請選擇“的查詢結果一樣,DEBUG看後臺的值的確是0,但是被Mybatis中if條件的 status !

類似智慧購票的demo--進入頁面後預設焦點在第一個輸入框輸入內容、回車、right焦點自動跳到下一個,當跳到select時,下拉選項自動彈出並且可以按上下鍵選擇選擇完成後再跳到下一個。

要實現的效果:進入頁面後預設焦點在第一個輸入框,輸入內容、回車、right時焦點自動跳到下一個,當跳到select時,下拉選項自動彈出,並且可以按上下鍵選擇,選擇完成後再跳到下一個。 PS:自己模擬的一個簡單效果,但仍然存在問題:網上搜了許多,關於select自動彈出的問題

給定一個二叉樹節點值0-9從根節點到葉子結點組成一個數求二叉樹所有組成的數的和

 根節點 到葉子節點組成一個數 前序遍歷  每層的值都為上一層*10+本層結點的值 int sumNumbers(TreeNode *root) { int sum=0; if(root==NULL) re

實現所有的執行緒一起等待某個事件的發生某個事件發生所有執行緒一起開始往下執行

假設要統計EXCEL裡的各個Sheet裡的的資料,可以開多個執行緒分別統計各個Sheet,等各個執行緒都統計完成後再進行彙總,這個時候就要實現如題描述的情景。這裡舉例說明,為了簡化,只是模擬。 我們知道,java裡的join是指等待該執行緒終止,才繼續往下執行。“join”很