1.錯誤寫法
listlist = db.find("select id from b_product_detail_phone where productid = 123 and id not in (?)", "147,148");
查詢結果包括148,即引數並未全部識別147,148,僅識別了147,無法分辨是幾個引數。
正確寫法:
1.全部字串拼接
listlist = db.find("select id from b_product_detail_phone where productid = 123 and id not in (147,148)");
2.jfinal模板
// listidlist = arrays.aslist(147,148);
listidlist = new arraylist<>();
idlist.add(147);
idlist.add(148);
sqlpara para = db.getsqlpara("test.test1", kv.by("idlist", idlist));
listlist = db.find(para);
renderjson(list);
all.sql檔案內容
#namespace("test")
#include("test.sql")
#end
test.sql中內容
#sql("test1")
select id from 表名 where pid= 739 and id not in (
#for(id:idlist)
#(for.index > 0 ? ", " : "")#(id)
#end
)#end
注意:模板中,#para生成佔位符,而#(value)生成值
參考:
Sql語句中的DDL語句
資料庫模式定義語言ddl data definition language 是用於描述資料庫中要儲存的現實世界實體的語言。主要由create 新增 alter 修改 drop 刪除 和 truncate 刪除 四個關鍵字完成。create database 資料庫名 建立乙個資料庫 create d...
偶遇Oracle中SQL語句中的
之前居然從來沒見到過此類寫法,諸如 select from t spolicy d,v policyemployee g where d.policyno g.policyno 查閱相關資料才發現此法就是外聯的另外一種表現形式其等同於 select from t spolicy d left joi...
SQL語句中中LIMIT的用法
假設有這麼一張表名叫ids,只有id一列 id 123 45.197198 199200 執行 select from ids limit 10,1輸出 id 11執行 select from ids limit 10,3輸出 id 11 1213執行 select from ids limit 4...