关于调用findfirst方法的一个疑问

zcoder 发布于 2015/07/28 08:51
阅读 191
收藏 0
@jfinal 请问我在调用 findFirst(String sql, Object... paras) 这个方法时,第二个参数如果这样传值就可以查到数据 比如 findFirst(sql,123,321);但当我传入一个数组时返回的就是空 比如 findFirst(sql,[123,321]); 请教各位大神
加载中
0
Most_Gust
Most_Gust

findFirst(sql,123,321)这里是3个参数,

 findFirst(sql,[123,321])这里是2个参数

0
JFinal
JFinal
   可变参数与数组是等效的,按理说不会出错,贴出相关代码,再找原因
zcoder
zcoder
首先谢谢大神的回答 ^_^
0
zcoder
zcoder

@jfinal  代码如下:

Table table = getTable();

String name = table.getName();

String pk[] = table.getPrimaryKey();
// 1.数据是否还存在
//动态判断主键及获取主键值
int[] pkValues = new int[pk.length];
for(int i=0; i<pk.length ;i++){
pkValues[i] = getInt(pk[i]);
}
//Model<M> modelOld = findFirst(sql , getInt("id")); 直接这样传没问题
Model<M> modelOld = findFirst(sql , pkValues);  //这样传入以后获得的modelOld是null

JFinal
JFinal
用一下 findById(id1, id2, ..., idn)
0
ghostman
ghostman

定义Integer数组试试

返回顶部
顶部