java 传引用????急急急

andesen 2009-06-09 02:57:32
是Connection 、ResultSet 对象传引用????
...全文
19 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
HinanaiTenshi 2009-06-11
  • 打赏
  • 举报
回复
明显需要补基础...
andesen 2009-06-11
  • 打赏
  • 举报
回复
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶起
izard999 2009-06-09
  • 打赏
  • 举报
回复
LZ,Java没有传引用的. Java就是传值的. 这是Java的参数传递机制.
另外我大概知道你的意思,不过我觉得你的代码封装的有点不到位..应该把Connection con,PreparedStatement ps,ResultSet rs全部设为private的成员变量会比较好点.
应该把层次体现的清楚些,写个BaseDao类,这个类里面提供Connection getCon()的方法,关闭连接的方法void closeAll(Connection con,PreparedStatement ps,ResultSet rs),增删改的方法
int executeSQL(String sql,param)这三个方法, 然后让每一个具体的数据访问类去继承这个BaseDao 这样不是更符合你想要的代码重用吗.? 不用每个数据访问层都写增删改的操作.而且你上面的getCon()方法没见你捕捉异常,你应该考虑下,这个异常是应该在方法里面处理还是交给调用者呢?很显然获得连接这个方法把捕捉的事情交给调用者比较合理些
andesen 2009-06-09
  • 打赏
  • 举报
回复
14楼的方法我也知道,但是代码重用率不是很高,我就是想知道能不能简单点,传引用的
djcomcn01 2009-06-09
  • 打赏
  • 举报
回复
14楼对,看半天终于看明白LZ问什么了
jackzhangyi 2009-06-09
  • 打赏
  • 举报
回复
同意14楼的意见。。。
如果实现返回一个集合,里面放有两个对象:ResultSet, Connection
然后在外面去分别获取这两个对象,在赋给前面定义的conn.
zhuzhusany 2009-06-09
  • 打赏
  • 举报
回复
Java中如果对象作为参数,那么只能改变该对象的状态,而不能给它重新赋值
所以con=getCon();在方法结束后,还是Null的
zhuzhusany 2009-06-09
  • 打赏
  • 举报
回复

public void class1()
{
Connection con=null;
con=getCon();//获取连接
ResultSet res = executesql(con,"");//执行
while(res.next())
{

}
//我要关闭Connection
此时的Connection 为NULL 我想让它不为NULL
所以要传引用
}

public ResultSet executesql(Connection con ,String sql)
{
// con=getCon();//获取连接
PreparedStatement pstmt=conn.prepareStatement(sql);
ResultSet res=pstmt.executeQuery();
return res;
}

andesen 2009-06-09
  • 打赏
  • 举报
回复
顶。。。
andesen 2009-06-09
  • 打赏
  • 举报
回复

public void class1()
{
Connection con=null;

ResultSet res = executesql(con,"");//执行
while(res.next())
{

}
//我要关闭Connection
此时的Connection 为NULL 我想让它不为NULL
所以要传引用
}

public ResultSet executesql(Connection con ,String sql)
{
con=getCon();//获取连接
PreparedStatement pstmt=conn.prepareStatement(sql);
ResultSet res=pstmt.executeQuery();
return res;
}

wochu 2009-06-09
  • 打赏
  • 举报
回复
public void class1()
{
Connection con=null;// Connection 获取一个数据库连接对象
ResultSet res = executesql(con,"");// ResultSet 操作数据库并返回执行后的对象
while(res.next())
{

}
}

public ResultSet executesql(Connection con ,String sql)
{
con=getCon();//获取连接
PreparedStatement pstmt=conn.prepareStatement(sql); //PreparedStatement 主要用于带参数的SQL语句传入
ResultSet res=pstmt.executeQuery();
return res;
}
实在不太清楚你具体想问什么,只能回答这些了
huangan0301 2009-06-09
  • 打赏
  • 举报
回复
还是不太明白你要问什么~~~
andesen 2009-06-09
  • 打赏
  • 举报
回复

public void class1()
{
Connection con=null;

ResultSet res = executesql(con,"");//执行
while(res.next())
{

}
//我要关闭Connection
}

public ResultSet executesql(Connection con ,String sql)
{
con=getCon();//获取连接
PreparedStatement pstmt=conn.prepareStatement(sql);
ResultSet res=pstmt.executeQuery();
return res;
}


大致意思就这样
KingZChina 2009-06-09
  • 打赏
  • 举报
回复
这问题你们也答出来了 晕了
再见品月 2009-06-09
  • 打赏
  • 举报
回复
Java语言中全部是 值传递。。没有引用传递。。
andesen 2009-06-09
  • 打赏
  • 举报
回复
Connection 是接口啊 怎么传
laorer 2009-06-09
  • 打赏
  • 举报
回复
java中没有传引用的,全是传值,
meander 2009-06-09
  • 打赏
  • 举报
回复
java中都是传引用啊
zhuzhusany 2009-06-09
  • 打赏
  • 举报
回复
没看明白
scliuqiang 2009-06-09
  • 打赏
  • 举报
回复
LZ看出来了,你的确十二分的急,急的问题都没写明白就发贴了.......
加载更多回复(1)

62,614

社区成员

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

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