请求支援:java 连接数据库如何实现多条件并列查询?

条件可以有很多,也可以只有一条,但是sql语句都可以执行... 条件可以有很多,也可以只有一条,但是sql语句都可以执行 展开
 我来答
匿名用户
2013-08-23
展开全部
JDK5.0新特性,可变参数。可变参数使程序员可以声明一个接受可变数目参数的方法。
注意,可变参数必须是方法声明中的最后一个参数,语法是类型后面加上三个点,比如 int... nums
这就是说,方法需要接收参数是int类型的,到底是几个参数,不知道,可以没有,可以多个,爱写几个写几个,不写拉到。
下面我写了个例子,方法getSentence(String... str)就是,内部还是字符串拼接,最后返回一个字符串,你连接数据库查询的时候,就拿这个字符串查不就行了么,具体自己改一改吧。

public class TestJDBC2 {
public static void main(String[] args) {
System.out.println(getSentence());
System.out.println(getSentence("eid = 1"));
System.out.println(getSentence("eid = 1111", "ename = okok"));
}

public static String getSentence(String... str) {
String s1 = "select * from emp";
String s2 = "select * from emp where ";

if(str.length == 0) {
return s1;
}
else {
for(int i=0; i<str.length; i++) {
s2 += str[i];
if(i != str.length-1) {
s2 += " and ";
}
}
return s2;
}
}

执行以后输出内容如图:
匿名用户
2013-08-23
展开全部
StringBuffer sql = new StringBuffer("select * from tanlename where 1=1");
//判断获取年龄条件是否为空或者为null
if(from.getage!=null&&!"".equals(from.getage))
{
如果有条件 sql 拼接
sql.append("and age="+from.getage);
}
一次类推判断第二个
else if(from.getsex!=null&&!"".equals(from.getsex))
{
在次拼接
sql.append("and sex="+from.getsex);
}
有多少就判断多少 就OK了
````````````
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-23
展开全部
拼接SQL,依靠StringBuffer 这个动态字符串来完成sql语句
StringBuffer buffer=new StringBuffer("select * from 表 where 1=1 ");
if(条件1满足){
buffer.append(" and 条件1")
}
if(条件2满足){
buffer.append(" and 条件2")
}
如此类推~

其实方法很多,关键要靠你自己去活用!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-23
展开全部
select 字段名 from 表名 where 条件1 (and 条件2)
这不好说,要根据编写的程序而定的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式