关于数据库连接的使用问题

[size=medium][size=xx-large]大环境是这样的,程序获取的是应用服务器(如TOMCAT)提供的数据源的数据库连接。
现在的程序有个疑惑,望大家帮我解答,最好能详细说明。
比如程序的登陆,需要做A,B,C,D,E5件事情,这5件事情就写了5个方法,每个方法都从数据库取数。
那么现在的问题是,这5个方法,只获取一个连接,然后不断把连接作为参数传递的办法好?
还是每个方法自己内部新建数据库连接好?
最好给答案的时候,能给出解释,谢谢了[/size][/size]

3个回答

我先说一下,ThreadLocal的方式就像你说的,效果上来说和"作为方法参数传递下去"的效果一样,这两种方法都没有返回连接池,都需要你手动来关闭,但是用传递的方式一个是增加了程序的耦合,同时也增加了复杂度,而且放在ThreadLocal还有一个好处就是你可以用动态代理来实现自动的事务处理,也就是说关闭连接也可以做到

完全可以使用数据库连接池啊,在你获取数据库连接的时候,获取到的就是池里面的连接,你完全不需要管数据库连接是如何创建如何维护如何销毁的。

两种办法都不好,
建议1(未使用spring):使用ThreadLocal来保存Connection
建议2(有使用):使用jdbcTemplate加事务管理

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐