SQL JDBC Connection 对象Close方法关闭的资源是什么?

关闭的是 本机 的cpu运算还是服务器的cpu运算 ,如果是关闭本机的内存空间的话 可以等java垃圾回收器自己回收资源吗?

9个回答

close 关闭的是网络连接。 java gc 回收的条件 是没有引用的时候。跟 close 没有关系。 也就是说。如果没有引用。没有close 也会回收。但是最好在不使用的时候手动close. GC 回收的时间是不确定的。

如果容器部署至服务器,那么就是创建在服务器中,链接对象保存在服务器内存中。close会关闭所有链接释放资源,内存中的链接对象遵循垃圾回收的算法。

一般来讲是close方法是用来释放数据库连接用的,如果配的连接池 会将当前的连接释放到连接池中,方便下次业务操作使用

https://www.2cto.com/database/201501/369246.html 看看这个

个人认为 不写close也没事 就是待等java垃圾回收器自己回收 但是回收机制是有时间的 并不是你不用了他就直接回收了
为了不产生更多不必要的麻烦 还是每次用完之后 将其手动关闭 释放资源 如果java回收机制可以随时回收人家java工程师 为啥要写这个close释放资源的方法呢

可以仿照tree菜单做啊,,那不是想要几层就有几层

如果不主动去close的话,如果一个程序中有多个方法调用jdbc而数据库连接池数量有限的话,其他地方的dao层会无法查询数据。

  1. java.sql.Connection.close()方法做的是立刻释放connection对象占用的数据库联接资源,而不是等到JVM的垃圾回收机制将其回收。并不是像我原以为的那样,close方法会简单地将conn对象设置为null。事实上,在调用close()之后,conn仍然不为null。

  2. 对一个为null的connection,调用close()方法会报空指针异常。

  1. java.sql.Connection.close()方法做的是立刻释放connection对象占用的数据库联接资源,而不是等到JVM的垃圾回收机制将其回收。并不是像我原以为的那样,close方法会简单地将conn对象设置为null。事实上,在调用close()之后,conn仍然不为null。

  2. 对一个为null的connection,调用close()方法会报空指针异常。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
SQL JDBC Connection 对象Close方法关闭的资源是什么?
关闭的是 本机 的cpu运算还是服务器的cpu运算 ,如果是关闭本机的内存空间的话 可以等java垃圾回收器自己回收资源吗?
封装了一个jdbc,这个jdbc中的close方法为什么可以关闭Connection对象?
nn```n public class Jdbc nn private Connection conn;n private ResultSet rs;n private ResultSetMetaData md;n private PreparedStatement ps;n private Properties prop;n private String url;n private String user;n private String psw;n private List> list;n private Map map;n private Integer flg;n private FileInputStream fis;n private String jdbcPath = "src/jdbc.properties";n n //测试代码n public static void main(String[] args) n Jdbc jdbc = new Jdbc();n try n jdbc.open();n String sql = "select * from GC_EXAMTYPE t where t.examtype_id= ? or examtype_id=?";n List> query = jdbc.query(sql,5,6);n System.out.println(query);n String inser_sql = "insert into test (id, name) values (?, ?)";n Integer add_flg = jdbc.add(inser_sql, 2,2);n System.out.println(add_flg);n String mod_sql = "update test set name = ? where id=?";n Integer mod_flg =jdbc.mod(mod_sql, 2,1);n System.out.println(mod_flg);n String del_sql = "delete test where id=?";n Integer del_flg =jdbc.del(del_sql, 1);n System.out.println(del_flg);n catch (Exception e) n e.printStackTrace();n finally n /*n * 我最大的疑惑就在这里,这里我并没有告诉计算机,应该关闭某个对象n * 我就是直接写了一个close方法n * 例如100个人同时使用这个代码n * 计算机是怎么知道该关闭哪个对象的n * 或者说,我这段代码本身就是有问题的n */n jdbc.close();n n n /**n * 连接数据库n * @throws Exceptionn */n public void open() throws Exceptionn fis = new FileInputStream(jdbcPath);n prop = new Properties();n prop.load(fis);n url = prop.getProperty("db.url");n user = prop.getProperty("db.user");n psw = prop.getProperty("db.password");n Class.forName(prop.getProperty("driverClass"));n conn = DriverManager.getConnection(url, user, psw);n n /**n * 关闭连接n */n public void close() n try n if(ps!=null) ps.close();n if(rs!=null) rs.close();n if(conn!=null) conn.close();n catch (SQLException e) n e.printStackTrace();n n n n /**n * 执行dml语句n * @param sql dml语句n * @param objs 参数n * @return 0失败 1成功n * @throws SQLException sql异常n */n public int dml(String sql, Object... objs) throws SQLException n ps = conn.prepareStatement(sql);n for (int i = 0; i < objs.length; i++) n ps.setObject(i+1, objs[i]);n n flg = ps.executeUpdate();n return flg;n n /**n * 执行查询语句n * @param sql 查询语句n * @param objs 参数n * @return 查询结果n * @throws SQLException sql异常n */n public List> query(String sql,Object...objs) throws SQLExceptionn list = new ArrayList<>();n ps = conn.prepareStatement(sql);n for (int i = 0; i < objs.length; i++) n ps.setObject(i+1, objs[i]);n n rs = ps.executeQuery();n md = rs.getMetaData();n while (rs.next()) n map = new HashMap<>();n for (int i = 1; i <= md.getColumnCount(); i++) n String key = md.getColumnName(i);n Object value = rs.getObject(i);n map.put(key, value);n n list.add(map);n n return list;n n /**n * 添加数据n * @param sql 添加语句n * @param objs 参数n * @return 0失败 1成功n * @throws SQLException sql异常n */n public int add(String sql,Object...objs) throws SQLException n flg = dml(sql, objs);n return flg;n n /**n * 修改数据n * @param sql 修改语句n * @param objs 参数n * @return 0失败 1成功n * @throws SQLException sql异常n */n public int mod(String sql,Object...objs) throws SQLExceptionn flg = dml(sql, objs);n return flg;n n /**n * 删除数据n * @param sql 删除语句n * @param objs 参数n * @return 0失败 1成功n * @throws SQLException sql异常n */n public int del(String sql,Object...objs) throws SQLExceptionn flg = dml(sql, objs);n return flg;n nn```nn
Connection对象close()以后,是不是Statement对象自动也关闭了??
我的理解是这样的。
connection close
connection.close()执行完多长时间才会关闭connectionrn我在做数据追加的时候报异常rnrncom.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failurernrnThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.rnrnCaused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The driver was unable to create a connection due to an inability to establish the client portion of a socket.rnrnThis is usually caused by a limit on the number of sockets imposed by the operating system. This limit is usually configurable. rnrnFor Unix-based platforms, see the manual page for the 'ulimit' command. Kernel or system reconfiguration may also be required.rn
Connection: close
不知道大家有没有遇到过这样的问题,HttpPost访问网页的时候:rnrnConnection: closernDate: Thu, 16 Sep 2010 03:10:51 GMTrnServer: Microsoft-IIS/6.0rnX-Powered-By: ASP.NETrnContent-Type: text/htmlrnContent-Length: 1308rnMS-WebStorage: 6.5.7638rnMS-WebStorage: 6.5.7638rnX-Powered-By: ASP.NETrnrnrn
SOS!!!Connection对象的Dispose方法与Close方法有何差别
Connection对象的Dispose方法与Close方法有何差别
sql包的Connection对象的方法isClosed()方法是什么意思啊?
我判断数据库是否关闭是这样写的不知对不对rnpublic void getClose() rn try rn if(connection!=null&&connection.isClosed())rn connection.close();rn rn catch (SQLException e) rn e.printStackTrace();rn rn
JDBC的Connection关闭与开启问题
对于数据库的增删查改的时候,是在每个方法后面添加conn。close方法还是在增删查改操作完后再进行关闭操作呢?rn求解
JDBC 资源关闭
问题描述 问题解决 问题描述我们获取到的 Connection 对象 / Statement 对象 / PreparedStatement 对象 / ResultSet 对象 都需要关闭, 但是Connection对象是数据库的连接, 需要关闭的话还可以理解, 为什么其他的对象需要关闭呢?ResultSet 的 API 这样描述: A ResultSet object is automatica
【JDBC】(2) 创建JDBC连接对象Connection
当注册jdbc驱动之后,程序中可以使用DriverManager.getConnection()方法来建立连接。 DriverManager.getConnection()方法有3个重载方法: getConnection(String url) getConnection(String url, Properties prop) getConnection(Str
connection对象的execute方法
connection对象的execute方法
要不要关闭Connection对象,为什么
我写了一个类 封装了MySQL数据库的连接方法,一个是用类方法实现,一个是用对象方法实现,如下:rnpublic static Connection getConn() throws Exceptionrn Connection conn=null;rn tryrn Class.forName(strDataDriverName);rn catch (ClassNotFoundException e) rn // TODO: handle exceptionrn throw new Exception(e);rn rn try rn conn=DriverManager.getConnection(strDataURL,strDataUserName,strDataPWD);rn catch (SQLException e) rn // TODO: handle exceptionrn throw new Exception(e);rn rn return conn;rn rn//rn public Connection getConnection() throws Exception rn rn Connection conn=null;rn tryrn Class.forName(strDataDriverName);rn catch (ClassNotFoundException e) rn // TODO: handle exceptionrn throw new Exception(e);rn rn try rn conn=DriverManager.getConnection(strDataURL,strDataUserName,strDataPWD);rn catch (SQLException e) rn // TODO: handle exceptionrn throw new Exception(e);rn rnrn return conn;rn rnrnrn这两个方法都没有关闭conn, 因为要返回conn, 我想问下 如果在外部声明一个 conn=类.getConn 后 然后关闭conn 是不是接可以了也就同样的关闭了类.getConn中的conn,主要是 这两个conn对象是不是一个?rn如果用下面的对象.getConnection, 疑惑同上!!rn
关于connection和recordset对象的关闭
在Asp中为什么有时rs.close和conn.close老出错?rn(rs和conn已提前声明为recordset和connection对象)rn在执行了Sql语句后,是数据库连接和查询对象rn还没完成所要求执行的操作?rnrn欢迎大家一起探讨一下。rn rn
jdbc close
StatementrnResultSetrnConnectionrn的关系,怎么每个都有close,这写close的区别?rn
Connection的close问题。
请问rnConnection.close();以后还有没有必要Connection=null;?rn二者有什么不同?
[JDBC]数据库连接池拦截close的方法/代理模式关闭连接
关闭连接池的方法就是将连接放回连接池,会另外创建一个free方法把连接放回集合中,但是,如果操作直接关闭原来的connection而不是使用定义的方法,就容易造成连接池失效。 所以,必须要拦截关闭原来连接的close方法。这种方法是代理模式的一种(不是很了解) 》》通过实现jdbc.connection接口 实际上真正的连接的其他工作交给真正的sql的connection去做,我们要做的是实
Connection对象打开了一定要调用Close()方法关闭吗?
rnrnrn[code=C#]rn/**********************************数据库操作类***************************************/rn #region 获取学生名单rn /// rn /// 取得学生名单rn /// rn public SqlDataReader GetStudentList()rn rn SqlConnection conn = new SqlConnection(connStr);rn tryrn rn conn.Open();rnrn StringBuilder sb = new StringBuilder();rn sb.AppendLine("select");rn sb.AppendLine(" [StudentNo],");rn sb.AppendLine("[StudentName] ");rn sb.AppendLine("from ");rn sb.AppendLine("[Student]");rnrn SqlCommand comm = new SqlCommand(sb.ToString(), conn);rn return comm.ExecuteReader();rn rn catch (Exception)rn rn Console.WriteLine("数据库操作失败!");rn return null;rn rn rn/***************************************学员管理类*************************************/rn /// rn /// 查看学生名单rn /// rn public void ShowRosterList()rn rn SqlDataReader reader = dbOperate.GetStudentList();rnrn if (reader == null)rn rn Console.WriteLine("出现异常!");rn return;rn rn Console.WriteLine("-------------------------------");rn Console.WriteLine("学号\t姓名");rn Console.WriteLine("-------------------------------");rnrn StringBuilder sb = new StringBuilder();rn //循环读取DataReaderrn while (reader.Read())rn rn sb.AppendFormat("0\t1",reader["StudentNo"],reader["StudentName"]);rn Console.WriteLine(sb);rn sb.Length = 0;rn rn Console.WriteLine("--------------------------------");rn //关闭DataReaderrn reader.Close();rn rn[/code]rnrn[color=#FF0000]如果在catch块后面加一个finally块用来调用Close()方法关闭数据库连接,那以就reader.Read()就读取不到结果了。[/color]rn[color=#99CC00]刚学,感觉好思维好混乱[/color]
result,statement,connection的关闭方法?
我现在用这个方法关闭rn finally rn if (rs != null) rs.close();rn if (st != null) st.close();rn if (con != null) con.close();rn rn假设关闭st的时候发生了错误,那么con就关闭不了了!rn关闭rs或关闭st的时候会不会出现错误呢?rn如果关闭rs或关闭st的时候出现错误,那么con就关闭不了了阿
JDBC CONNECTION???????????????????????????????????????????///
我的程序段:rn Class.forName ("org.postgresql.Driver");rn mSQLcon = DriverManager.getConnection( "jdbc:postgresql:net//172.16.131.231:5432/billing" , "billing" , "" );rn平台是SUN solaris8(SPARC)rn返回的错误是:rnrnConnection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP crnonnections.rn at org.postgresql.jdbc1.AbstractJdbc1Connection.openConnection(AbstractJdbc1Connection.java:167)rn at org.postgresql.Driver.connect(Driver.java:122)rn at java.sql.DriverManager.getConnection(DriverManager.java:512)rn at java.sql.DriverManager.getConnection(DriverManager.java:172)rn at com.nec.jp.inetworx.bs.pri.filemanage.PriDatabase.getConnection(PriDatabase.java:90)rn at com.nec.jp.inetworx.bs.pri.filemanage.PriFileMain.mainControl(PriFileMain.java:128)rn at com.nec.jp.inetworx.bs.pri.filemanage.dummy.main(dummy.java:24)rn
jdbc connection
jdbc connection,
JDBC Connection
rn com.icil.xdca.db.IcilDbException: Exception caught:java.sql.SQLException: JZ0NE: Incorrect URL format. URL: jdbc:icil. Error message: java.lang.NumberFormatException: For input string: "icil"rnrnjdbc:subprotocol :subnamernurl is jdbc:icil:uoso:2095, rn当url是上面的样子,出现上面的错误,rn可是如果是rnrnurl is jdbc:icil:192.168.18.233:2095rn就可以正确连接。rnrn但是有的数据库可以用名称来连接,有的一定要用ip ,rnip和server的名称在hosts文件里有配制。rnrn怎么解决呢?rnrn盼高人来指点!rnrn
JDBC关闭ResultSet、Connection的标准写法(仅供参考)
这里提供的写法并未使用连接池和工具类,只是对纯原始写法的一点探索,供大家参考。 public String testFormat(String date) //获取当天的身份证号 { String result = null; Connection conn = DriverManager.getConnection("jdbc:mysql://host
使用JDBC过程中如何正确关闭connection
来看一段代码:import java.sql.*; /** * Created by N3verL4nd on 2017/4/17. */ public class JdbcDemo { public static void main(String[] args) { Connection conn = null; Statement stmt = n
JDBC Connection 没有关闭...求办法..
rnrn我们用的是oracle数据库 ..代码里面Connection没有关闭。太浪费数据库资源.而现在又不能改源代码.请教高人指点.给几条合理化建议.
资源和对象是什么关系?
rn对象是C++的基本概念,不必多说!但是很多教材并没有解释什么是资源?rn资源和对象之间又是一种什么关系呢?rn愿闻高论......
从jdbc中获取连接对象Connection的三种方法
使用DriverManager类获取数据库连接对象 配置容器数据源 依赖注入框架
一种关闭资源的方法
/**rn* 关闭系统资源,不抛出异常,用于关闭一些不再使用的系统资源,如数据库连接,ResultSet,IO流等系统对象rn*/rnpublic static boolean closeResourceWithoutExcep(Object closeAble)rnrn boolean closedSuccess = true; // 关闭成功标志rn tryrn Class targetClass = closeAble.getClass();rn Method closeMethod = targetClass.getMethod("close");rn closeMethod.invoke(closeAble);rn catch(Exception e)rn e.printTraceStack();// rn closedSuccess = false;rn rnrn return closedSuccess;rnrn这是我下午写的一个方法,因为一些系统资源关闭的时候,经常需要捕获异常,所以我就想到写这么个方法. 没和组长商量就把代码提了,并向其他同事介绍这个方法.但是却被批评了,请问这个方法的缺点在哪里? 麻烦高人指点,谢谢
对象'execute'的方法'_connection'失败!
Dim outconn As New ADODB.ConnectionrnDim OUTSTR As Stringrnoutconn.ConnectionString = Login.loginstr(此处为引用其他窗体的变量)rnoutconn.OpenrnOUTSTR = "SELECT 产品编码,产品名称,SUM(CASE 性质 WHEN '出库' THEN 数量*(-1) ELSE 数量 END) AS 结存数量 INTO STOCKKUCUN FROM KUCUN GROUP BY 产品编码,产品名称 order by 产品编码,产品名称"rnoutconn.Execute OUTSTRrnrn肯定是SQL语句中SUM(CASE 性质 WHEN '出库' THEN 数量*(-1) ELSE 数量 END)的问题~rn改成SUM(数量)一次性通过~rn
对象'Open'的方法'_Connection'失败????
安装了一软件,并卸装后,rn我的VB出现如下错误信息:rn对象'Open'的方法'_Connection'失败! rnrn请问是什么原因,该如何解决?
connection对象的 execute方法的问题
rnrnconnection对象的 execute方法有按行返回和不按行返回之说,请问有什么区别?什么是按行,什么是不按行,分别在什么时用?请详细说明一下?rnrn
JDBC基础==12.2.1如何获得Connection对象
Connection 对象代表与数据库的连接。连接过程包括所执行的 SQL 语句和在该连接上所返回的结果。一个应用程序可与单个数据库有一个或多个连接,或者可与许多数据库有连接。 import java.sql.*; import javax.rmi.CORBA.Util; public class Utils { public static Connection  getConn
JDBC 工厂封装返回一个Connection对象
Oracle 数据库的 JDBC工厂封装,信息全写在配置文件中 public class ConnectionFactory { private static String driver; private static String url; //XE private static String username; private static String password;
JDBC连接数据库的connection对象为空的问题
rn不知道是不是数据库的问题,我一样的代码,改下ip连接别人的可以取得数据,别人连我的数据库也是能连上,但是建立的connection对象都为空rnrnrn[code=java]package com.jj.sx5.dao.connection;rnrnimport java.sql.Connection;rnimport java.sql.DriverManager;rnimport java.sql.SQLException;rnrnimport com.jj.sx5.utl.ConfigManager;rnrn/**rn * 功能:只完成与数据库的连接rn * rn * @author Administratorrn *rn */rnpublic class MyConnection rn //封装一个connection对象rn public static Connection connection;rn rn //指定数据库用户的帐号rn rn private static String user = ConfigManager.getInstance().getValue("username");rn rn //指定数据库用户的密码rn private static String password = ConfigManager.getInstance().getValue("password");rn rn //指定urlrn private static String url = ConfigManager.getInstance().getValue("url");rn rn rn //指定一个数据库驱动rn private static String dbDriver = ConfigManager.getInstance().getValue("dbDriver");rn rn rn public static Connection getConnection()rn tryrn //实例化驱动rn Class.forName("oracle.jdbc.driver.OracleDriver");rn rn //通过DriverManager对象创建connectionrn rn connection = DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.106:1521:XE","TestAdmin","TestAdmin");rn rn catch(Exception e)rn //错误信息rn// System.out.print(e.getMessage());rn e.printStackTrace();rn rnrn return connection;rn rn rn public static void closeConnection()rn if(connection != null)rn try rn connection.close();rn catch (SQLException e) rn // TODO Auto-generated catch blockrn e.printStackTrace();rn rn rn rnrn[/code]rn
recyle error--- java.sql.SQLNonTransientConnectionException: Connection is close
[color=#FF0000][size=18px]楼主在做exce导入功能,但是还没有开始导,只是前面的数据验证,全部都是查询语句。然后就莫名报了这个错。[/size][/color]rn2018-09-20 14:52:51 [ERROR] - recyle errorrnjava.sql.SQLNonTransientConnectionException: Connection is closern at org.mariadb.jdbc.internal.util.ExceptionMapper.get(ExceptionMapper.java:125)rn rnCaused by: org.mariadb.jdbc.internal.util.dao.QueryException: Connection is closern at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.cmdPrologue(AbstractQueryProtocol.java:1273)rn at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:133)rn at org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:251)rn ... 50 morern2018-09-20 14:52:51 [ERROR] - [DUBBO] Got unchecked and undeclared exception which called by 172.16.200.103. service: com.ymhy.bdcs.bend.service.ProductMainBodyBendService, method: addProductUnit, exception: org.springframework.transaction.TransactionSystemException: Could not commit JDBC transaction; nested exception is java.sql.SQLNonTransientConnectionException: Could not read resultset: unexpected end of stream, read 0 bytes from 4rnQuery is : COMMIT, dubbo version: 2.5.3, current host: 172.16.200.101rnorg.springframework.transaction.TransactionSystemException: Could not commit JDBC transaction; nested exception is java.sql.SQLNonTransientConnectionException: Could not read resultset: unexpected end of stream, read 0 bytes from 4rnQuery is : COMMITrn at org.springframework.jdbc.datasource.DataSourceTransactionManager.doCommit(DataSourceTransactionManager.java:275)rn at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:761)rn at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:730)rn at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:485)rn at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:291)rn at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)rn at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)rn at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)rn at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)rn at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)rn at com.ymhy.bdcs.bend.service.ProductMainBodyBendServiceImpl$$EnhancerBySpringCGLIB$$ac5277d5.addProductUnit()rn at com.alibaba.dubbo.common.bytecode.Wrapper10.invokeMethod(Wrapper10.java)rn at com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(JavassistProxyFactory.java:46)rn at com.alibaba.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:72)rn at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:53)rn at com.alibaba.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:64)rn at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)rn at com.alibaba.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:42)rn at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)rn at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75)rn at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)rn at com.alibaba.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:78)rn at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)rn at com.alibaba.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:60)rn at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)rn at com.alibaba.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:112)rn at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)rn at com.alibaba.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38)rn at com.alib
Connection类的Open,Close问题
问题1:开发C# C/S结构数据库程序时,类似新增、删除可以只使用Connection、Command对象搞定。Connection对象的Open,Close的时机有两个方案:一是在窗体的Load事件中调用Connection的Open方法,窗体Closed(或Closing)事件中调用Connection的Close方法,在新增、删除按钮的Click事件中调用Command对象的类似于ExecuteNonQuery方法执行新增、删除命令;第二种是在新增、删除按钮的Click事件中依次调用Connection的Open方法,Command的类似于ExecuteNonQuery方法,Connection的Close方法。这两种方案哪种合理?rnrn问题2:SqlDataAdapter对象调用Fill、Update方法时,也不用调用相应Connection对象的Open、Close方法,为什么?rnrn谢谢!
Connection、Statement、ResultSet 的 close 顺序 ?
Connection、Statement、ResultSet 的 close 顺序 ?rnrn-------------------------------------------------------rnrnConnection conn = getFromConnection();rnStatement st = conn.createStatement();rnResultSet rs = st.executeQuery(getSql());rnrn...rnrnrs.close();rnst.close();rnconn.commit();rnrn请问上面的最后三行的顺序有没有错误?有没有可以省略的?如果顺序错了会不会有问题?rnrn
Connection,Statement,Resultset的close()问题
是不是Statement.close(),Connection.close(),以后Resultset就不用close了?rnrn这是一个与数据库连接的bean中的一块代码:rn public ResultSet executeQuery(String s)rn rn tryrn rn conn = DriverManager.getConnection(sConnStr);rn stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rn rs = stmt.executeQuery(s); rn rn catch(SQLException sqlexception)rn rn System.err.println("executeQuery: " + sqlexception.getMessage());rn System.err.println("executeQuerystrSQL: " + s);rn rn return rs;rn rn在另一个bean中我执行rs.close()为什么会报错??
Connection是Dispose和Close的问题
听说Close是把Connection对象放回连接池,以备下次使用,而Dispose是将Connection对象彻底删除。rnrn打开的链接可以在多个不同的页面之间共享吗?也就是说我在一个页面打开一个连接用完后Close,别的页面在用这个连接是不是就不用重新生成这个连接了(从连接池中取)?
怎样关闭connection对象,郁闷中。。。
public ActionForward add(ActionMapping mapping, ActionForm form,rn HttpServletRequest request, HttpServletResponse response)rn throws Exception rn // 取得数据库连接rn DataSource datasource = getDataSource(request, "dataSource");rn Connection conn = datasource.getConnection();rn UserForm uf = (UserForm) form;rn User user = new User();rn user.setUsername(uf.getUsername());rn user.setPassword(uf.getPassword());rnrn System.out.println("--------------------------->" + uf.getUsername());rnrn ActionErrors errors = new ActionErrors();rnrn try rn UserDAO ud = new UserDB(conn);rn ud.add(user);rn errors.add(ActionErrors.GLOBAL_ERROR, new ActionError(rn "tzrz.addUserSuc"));rn saveErrors(request, errors);rn return (mapping.findForward("message"));rn catch (Exception e) rn e.printStackTrace();rn errors.add(ActionErrors.GLOBAL_ERROR, new ActionError(rn "tzrz.addUserFail"));rn saveErrors(request, errors);rn finally rn tryrn if(conn != null)rn conn.close();rn catch(Exception ex)rn ex.printStackTrace();rn rn rn throw new java.lang.UnsupportedOperationException(rn "Method $execute() not yet implemented.");rn rnrn以上这个方法是添加一个用户和密码,问题出来finally块,每次运行都报告:rn at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:110)rn at com.tzrz.action.UserAction.add(UserAction.java:68)rn at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)rn at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)rn at rnrnsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)rn at java.lang.reflect.Method.invoke(Method.java:324)rn at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)rn at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)rn at rnrnorg.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)rn at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)rn at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)rn at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)rnrn----------------------------------rn UserAction.java:68 == conn.close();rnrn 我在用完connection对象后,要关闭它。可为什么这里老是不让关啊。。请高人指点一二。。。
10 Layer 内置方法 close 关闭层
&nbsp;rn<p>rn 本课程系统讲解了layer弹窗里的所有方法。逐一进行了分析和讲解。rn</p>rn<p>rn <br />rn</p>rn<ul>rn <li>rn <p>rn 内置方法rn </p>rn <ul>rn <li>rn <p>rn <a href="https://www.layui.com/doc/modules/layer.html#layer.config">config全局设置</a> rn </p>rn </li>rn <li>rn <p>rn <a href="https://www.layui.com/doc/modules/layer.html#layer.ready">ready就绪</a> rn </p>rn </li>rn <li>rn <p>rn <a href="https://www.layui.com/doc/modules/layer.html#layer.open">open核心方法</a> rn </p>rn </li>rn <li>rn <p>rn <a href="https://www.layui.com/doc/modules/layer.html#layer.alert">alert弹框</a> rn </p>rn </li>rn <li>rn <p>rn <a href="https://www.layui.com/doc/modules/layer.html#layer.confirm">confirm询问</a> rn </p>rn </li>rn <li>rn <p>rn <a href="https://www.layui.com/doc/modules/layer.html#layer.msg">msg提示</a> rn </p>rn </li>rn <li>rn <p>rn <a href="https://www.layui.com/doc/modules/layer.html#layer.load">load加载</a> rn </p>rn </li>rn <li>rn <p>rn <a href="https://www.layui.com/doc/modules/layer.html#layer.tips">tips吸附</a> rn </p>rn </li>rn <li>rn <p>rn <a href="https://www.layui.com/doc/modules/layer.html#layer.close">close关闭层</a> rn </p>rn </li>rn <li>rn <p>rn <a href="https://www.layui.com/doc/modules/layer.html#layer.closeAll">closeAll关闭全部</a> rn </p>rn </li>rn <li>rn <p>rn <a href="https://www.layui.com/doc/modules/layer.html#layer.style">style</a> rn </p>rn </li>rn <li>rn <p>rn <a href="https://www.layui.com/doc/modules/layer.html#layer.title">title重置标题</a> rn </p>rn </li>rn <li>rn <p>rn <a href="https://www.layui.com/doc/modules/layer.html#layer.getChildFrame">getChildFrame</a> rn </p>rn </li>rn <li>rn <p>rn <a href="https://www.layui.com/doc/modules/layer.html#layer.getFrameIndex">getFrameIndex</a> rn </p>rn </li>rn <li>rn <p>rn <a href="https://www.layui.com/doc/modules/layer.html#layer.iframeAuto">iframeAuto</a> rn </p>rn </li>rn <li>rn <p>rn <a href="https://www.layui.com/doc/modules/layer.html#layer.iframeSrc">iframeSrc</a> rn </p>rn </li>rn <li>rn <p>rn <a href="https://www.layui.com/doc/modules/layer.html#layer.setTop">setTop多层置顶</a> rn </p>rn </li>rn <li>rn <p>rn <a href="https://www.layui.com/doc/modules/layer.html#layer.full">full/min/restore</a> rn </p>rn </li>rn </ul>rn </li>rn <li>rn <p>rn 其他内置层rn </p>rn <ul>rn <li>rn <p>rn <a href="https://www.layui.com/doc/modules/layer.html#layer.prompt">prompt输入层</a> rn </p>rn </li>rn <li>rn <p>rn <a href="https://www.layui.com/doc/modules/layer.html#layer.tab">tab选项卡层</a> rn </p>rn </li>rn <li>rn <p>rn <a href="https://www.layui.com/doc/modules/layer.html#layer.photos">photos图片层</a> rn </p>rn </li>rn </ul>rn </li>rn</ul>rn<p>rn <br />rn</p>
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法