4个回答
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;
}
}
执行以后输出内容如图:
注意,可变参数必须是方法声明中的最后一个参数,语法是类型后面加上三个点,比如 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了
````````````
//判断获取年龄条件是否为空或者为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")
}
如此类推~
其实方法很多,关键要靠你自己去活用!
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)
这不好说,要根据编写的程序而定的
这不好说,要根据编写的程序而定的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |