jdbc传入字段参数较多时,怎么处理
答案:2 悬赏:0 手机版
解决时间 2021-04-28 14:55
- 提问者网友:孤凫
- 2021-04-28 11:20
jdbc传入字段参数较多时,怎么处理
最佳答案
- 五星知识达人网友:神鬼未生
- 2021-04-28 11:57
您好,提问者:
1、第一种方法可以封装到一个对象中,然后没有的字段就不用set,默认为null。
2、可以使用List数组的形式,之后使用StringBuilder的append拼接参数。
//User对象有三个字段id name age;
User user = new User();
user.setName("zhangsan");
user.setAge(20);
//例如如下是List传来的多参数
List list = new ArrayList();
list.add(user);
//.....类似了
StringBuilder sb = new StringBuilder();
sb.append("select * from user ");
for(int i = 0; i < list.size(); i++){
if(i == 0)
sb.append(" where ");
else if(!"".equals(list.get(i).getName) || list.get(i).getName != null)
sb.append(" name = " list.get(i).getName());
//else if(这后面的类似了,之后把sb.toString()语句传入到查询中就可以了
}
1、第一种方法可以封装到一个对象中,然后没有的字段就不用set,默认为null。
2、可以使用List数组的形式,之后使用StringBuilder的append拼接参数。
//User对象有三个字段id name age;
User user = new User();
user.setName("zhangsan");
user.setAge(20);
//例如如下是List传来的多参数
List
list.add(user);
//.....类似了
StringBuilder sb = new StringBuilder();
sb.append("select * from user ");
for(int i = 0; i < list.size(); i++){
if(i == 0)
sb.append(" where ");
else if(!"".equals(list.get(i).getName) || list.get(i).getName != null)
sb.append(" name = " list.get(i).getName());
//else if(这后面的类似了,之后把sb.toString()语句传入到查询中就可以了
}
全部回答
- 1楼网友:一袍清酒付
- 2021-04-28 13:01
不知道你是不是指的填写sql语句时写的参数?如果是的话,用占位符?来实现。你可以用将所有参数写成数组,以数组的个数来拼写?号的个数,然后再遍历数组set到语句里。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯