今天花了一下午時間發現了mybatis的乙個用法,就是查詢巢狀傳參的時候會把集合中的引數給「」用掉」,所謂用掉,就是作為引數傳遞給巢狀查詢的引數不會在返回結果集中顯示。解決辦法就是做兩個引數命不同的名字,乙個用作查詢巢狀的傳遞,另外乙個用作結果集的返回。
上例子:
select
bt.terminal_sys_no as mtsysno,
mca.terminal_no as terminalno,
mca.terminal_no as terminalno1,
bt.print_shop_name as printshopname,
bt.program as program,
bt.serv_model as servmodel,
mca.effect_date as effectdate,
mca.install_date as installdate,
mca.uninstall_date as uninstalldate,
bt.terminal_num as terminalnum,
bt.fixed_pos_num as fixedposnum,
bt.move_pos_num as moveposnum,
bt.mpos_num as mposnum,
bt.dev_type_remark as devtyperemark,
bt.rate_mode_*** as ratemode***,
mca.transaction_type as transactiontype,
bt.transaction_type as transactiontype1
left join bm_terminal bt on bt.terminal_sys_no = mca.terminal_sys_no
left join bm_branch bb on bb.branch_sys_no = bt.branch_sys_no
where bb.branch_sys_no = #
傳遞引數用了terminalno1,而返回結果用terminalno.
為了發現這個問題前後做了二三十條資料,排除了集合問題,引數個數問題,返回型別問題等情況,最後把問題限定到了只跟terminalno這個字段。因為沒有仔細對比缺失欄位跟原集合的關係,所以我沒有最終發現問題,還是讓小組長幫我搞定。這也說明了有的看似很詭異的問題其實是可以自己發現自己解決的,前提是解決方法要正確,並且要細心,乙個不小心就會讓你在最後關頭和成功失之交臂。當然,這只是個小問題,沒那麼嚴重,哈哈。
MyBatis傳多個引數
對於mybatis是個新手,在網上查了好多關於其傳引數的資料,試了好多種方法,其一如下 public int getgg zdsm param zddm string zddm param querytype string querytype,param time string time 在sql中...
Mybatis傳多個引數
dao層的函式方法 public user selectuser string name,string area select from user user t where user name and user area 其中,代表接收的是dao層中的第乙個引數,代表dao層中第二引數,更多引數一致...
mybatis傳多個引數
據我目前接觸到的傳多個引數的方案有三種。dao層的函式方法 1 publicuserselectuser stringname,string area 1 2 3 selectid selectuser resultmap baseresultmap select fromuser user twh...