java 传引用????急急急 是Connection 、ResultSet 对象传引用???? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java中没有传引用的,全是传值, Connection 是接口啊 怎么传 Java语言中全部是 值传递。。没有引用传递。。 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; }大致意思就这样 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; }实在不太清楚你具体想问什么,只能回答这些了 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; } 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; } Java中如果对象作为参数,那么只能改变该对象的状态,而不能给它重新赋值所以con=getCon();在方法结束后,还是Null的 同意14楼的意见如果实现返回一个集合,里面放有两个对象:ResultSet, Connection然后在外面去分别获取这两个对象,在赋给前面定义的conn. 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()方法没见你捕捉异常,你应该考虑下,这个异常是应该在方法里面处理还是交给调用者呢?很显然获得连接这个方法把捕捉的事情交给调用者比较合理些 关于switch case SSH Secure File Transfer Client为什么打不开?急!!! java同步块 初学:想编个英文字符串大小写相互转换的可视化的窗口,编译后运行得到乱码~~ 关于mysql和jdbc的弱弱的问题 关于TextArea里面实现链接的问题! 请问如何在JAVA中提取图片象素? 请教一个问题 JProgressBar如何控制程序的流程?谢谢 给你加星星! 关于c++和java在定义变量的区别(附代码) 利用 java 将 UTF-8 文件转换成中文问题
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;
}
大致意思就这样
{
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;
}
实在不太清楚你具体想问什么,只能回答这些了
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;
}
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;
}
所以con=getCon();在方法结束后,还是Null的
如果实现返回一个集合,里面放有两个对象:ResultSet, Connection
然后在外面去分别获取这两个对象,在赋给前面定义的conn.
另外我大概知道你的意思,不过我觉得你的代码封装的有点不到位..应该把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()方法没见你捕捉异常,你应该考虑下,这个异常是应该在方法里面处理还是交给调用者呢?很显然获得连接这个方法把捕捉的事情交给调用者比较合理些