问一个SQL的问题,不知道你们会不会呀。。。

lcqlcq530 2007-09-26 11:35:15
项目是做通讯的,使用的是Spring + Struts1.2 +DAO.这样。
我的 I××DAO层如下:
public interface ICardDAO
{
public List CardQuery(String sql) throws Exception;

public boolean CardExec(String ...sql) throws Exception;
}

DAO层如下:
public class CardDAO extends JdbcDaoSupport implements ICardDAO
{

public boolean CardExec(String ...sql) throws Exception
{
for(String s : sql)
{
if(!s.equals(""))
{
this.getJdbcTemplate().update(s);
}
}
return true;
}

public List CardQuery(String sql) throws Exception
{
return this.getJdbcTemplate().queryForList(sql);
}

}
问题:(String ...sql)为啥这样写啊? 还有这个for(String s : sql) 是干嘛的,怎么还有冒号呢?
...全文
83 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lcqlcq530 2007-09-26
  • 打赏
  • 举报
回复
谢谢啦。呵呵 (是不是我不适合做软件啊:()
aChinese 2007-09-26
  • 打赏
  • 举报
回复
String ...sql 表示不定长参数.
调用的时候可能是 CardExec(sql1) 或 CardExec(sql1,sql2) 或 CardExec(sql1,sql2,sql3)
类推.
for(String s : sql) 就是循环啦. 取得sql1,sql2,sql3....

if(!s.equals("")) 就是s不等于""啦, 这个不至于不懂吧

全粘架构师 2007-09-26
  • 打赏
  • 举报
回复
String s : sql 是5.0之后的循环用法

!表示否,例如!true就是false,

s.equals("")返回的是true或false,加个!再反一下;
lilei_s 2007-09-26
  • 打赏
  • 举报
回复
这都不晓得,非空贝
lcqlcq530 2007-09-26
  • 打赏
  • 举报
回复
问题2: for(String s : sql)
{
if(!s.equals(""))
看到没?if后面括号里还有个小叹号,然后跟s.equals("")) 这是啥意思啊?

81,115

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧