问一个SQL的问题,不知道你们会不会呀。。。
项目是做通讯的,使用的是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) 是干嘛的,怎么还有冒号呢?
------解决方案--------------------String s : sql 是5.0之后的循环用法
!表示否,例如!true就是false,
s.equals( " ")返回的是true或false,加个!再反一下;
------解决方案--------------------String ...sql 表示不定长参数.
调用的时候可能是 CardExec(sql1) 或 CardExec(sql1,sql2) 或 CardExec(sql1,sql2,sql3)
类推.
for(String s : sql) 就是循环啦. 取得sql1,sql2,sql3....
if(!s.equals( " ")) 就是s不等于 " "啦, 这个不至于不懂吧