java 数据库连接关闭 的问题

由于程序架构成对象层数据库操作层和反射层,所以尽量要低耦合才行.由对象层方法调用数据库操作层方法和反射层方法后最终返回所需要的bean或者list或者实现增加删除修改等所... 由于程序架构成对象层 数据库操作层 和反射层,所以尽量要低耦合才行.

由 对象层方法调用数据库操作层方法和反射层方法后最终返回所需要的bean或者list或者实现增加删除修改等

所以数据库操作层里不希望有反射,但是现在面临一个问题,数据库操作层的find方法必须要返回查到的数据,这个数据如果是rs记录集的话,那rs就只能在外面的对象层去关闭,那么stmt也需要传出到对象层,不然的话stmt怎么关闭呢.

还有我试过conn stmt rs 都在对象层 定义,全部传入数据库操作层,最后只返回rs,rs非空能关闭,而stmt是空,证明stmt必须传出来再关,即便是它在外面定义的,也必须传出来,否则stmt是空的,关闭无效.

所以为了解决这个问题,我考虑把这三个对象弄到 一个类里,在外面初始化类的对象,然后把这个对象传入,完事h后把对象return到对象层再顺序关闭里面的属性,这样可行么? ??

不想用 连接池 因为 不是企业级大数据量访问,能和普通 asp访问数据库效率在一个档次上就可以了
展开
 我来答
█绪凡█283
推荐于2016-04-29 · TA获得超过159个赞
知道答主
回答量:184
采纳率:75%
帮助的人:119万
展开全部
直接关connection:
if(conn != null) {
try {
conn.close();
} catch(Exception e) {
e.printStackTrace();
}
conn = null;
}
写个工具类来关也可以:
public static void close(Connection conn) {
if(conn != null) {
try {
conn.close();
} catch(Exception e) {
e.printStackTrace();
}
conn = null;
}
}
注意,在有返回sql相关对象的函数里不要关connection,例如resultset、statement、preparedstatement,呵呵返回connection的就更不用说了;如果connection是几个函数公

用的,那就在这几个函数都调用完了再关闭;其他情况最好在函数里把connection关了!!
追问
不懂就别回答
百度网友c02bccd3d
2014-08-16 · 超过12用户采纳过TA的回答
知道答主
回答量:54
采纳率:100%
帮助的人:19.6万
展开全部
底层用的什么框架?
追问
没用框架 嫌他复杂 自己弄个简单的  也不要连接池  就是面向对象  方便编成 然后不能出现内存泄漏这种情况 session只在登陆时用 其他地方不用 就这些原则
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式