使用dbcp连接池

banjiamayi 2010-03-23 04:02:41
我用的是Struts1.2,jdbc连接数据库。程序包括:

AdminManagerImpl.java包括insert、update、list、delete方法。

AdminAction.java继承了DispatchAction,包括insert、update、list、delete方法分别调用AdminManagerImpl.java里的insert、update、list、delete方法。现在想用dbcp连接池,有几个问题想问各位高手:

1、是否只能在Action中获得数据库连接,不能在业务逻辑AdminManagerImpl.java中获得数据库连接?

2、如果是在Action中获得连接,是否可以用参数的方式传给AdminManagerImpl.java?(因为我原来是在AdminManagerImpl.java中获得的连接并进行操作)

3、是否要在Action的每一个方法里都写一遍:
DataSource ds = getDataSource(request);
con = (Connection) ds.getConnection();

4、是否要在Action的每个方法的finally中都使用con.close?

...全文
66 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiule520 2010-03-23
  • 打赏
  • 举报
回复
学习.......
banjiamayi 2010-03-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xiaozejun 的回复:]
No!NO!NO!
操作数据库一般是在dao层
然后用service层调用dao层
在action里面调用service层
1.在dao层获得数据库连接
2.用一个方法来获取连接,然后要用的链接的时候 直接调用这个方法就行了
[/Quote]
谢谢!请问在dao中获得dbcp的数据库连接怎样实现?
xiaozejun 2010-03-23
  • 打赏
  • 举报
回复
No!NO!NO!
操作数据库一般是在dao层
然后用service层调用dao层
在action里面调用service层
1.在dao层获得数据库连接
2.用一个方法来获取连接,然后要用的链接的时候 直接调用这个方法就行了
  • 打赏
  • 举报
回复
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">

<property name="driverClassName"><value>${jdbc.driverClassName}</value></property>

<property name="url"><value>${jdbc.url}</value></property>

<property name="username"><value>${jdbc.username}</value></property>

<property name="password"><value>${jdbc.password}</value></property>

<property name="maxActive"><value>80</value></property>

<property name="maxIdle"><value>20</value></property>

<property name="maxWait"><value>3000</value></property>



</bean>


总结spring下配置dbcp,c3p0,proxool数据源链接池

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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