如何调用struts-config.xml中配置的data-source

 我来答
可以叫我表哥
2015-01-17 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
采纳数:25897 获赞数:1464984
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。

向TA提问 私信TA
展开全部
在struts-config.xml中配置data-source注意事项:
<data-sources>
<!--
名称:data-source
描述:data-source元素定义了具体的数据源 属性:
@key:当需要配置多个数据源时,相当于数据源的名称,用来数据源彼此间进行区别
@type:可以使用的数据源实现的类,一般来自如下四个库
-->
<data-source key="dataSource" type="ormons.dbcp.BasicDataSource">
<!--
名称:set-property 属性:
@driverClassName:驱动名称
@url:数据库url
@user:数据库用户
@password:数据库密码
@maxCount:最大数据源连接数
@minCount:最小数据源连接数
@autoCommit:是否自动提交 可选值:true/false
@description:数据源描述
@readOnly:只读属性 必须为false,否则不能进行插入修改操作
-->
<set-property property="driverClassName"
value="Oracle.jdbc.driver.OracleDriver" />
<set-property property="url"
value="jdbc:oracle:thin:@localhost:1521:orcl" />
<set-property property="username" value="scott" />
<set-property property="password" value="tiger" />
<set-property property="maxCount" value="20" />
<set-property property="minCount" value="5" />
<set-property property="autoCommit" value="true" />
<set-property property="readOnly" value="false" />
<set-property property="description" value="ds" />
</data-source>
</data-sources>
  
  在**DAO文件中代码:
首先定义
private DataSource dataSource;
该类的构造方法:
public **DAO(DataSource dataSource)
{
this.dataSource=dataSource;
}
然后在该类的方法中使用dataSource.getConnection()方法获得连接。
一定要注意千万不要使用静态方法
  
在action类中调用配置的datasource时有一下两种方法:
方法一:ServletContext context = servlet.getServletContext();//获得Struts中的配置文件属性
DataSource dataSource = (DataSource) context.getAttribute("dataSource");
  方法二:DataSource ds=this.getDataSource(request, "dataSource");
**DAO **dao=new **DAO(ds);
  getDataSource(HttpServletRequest request,String key)方法就是在action中调用你配置好的data-source而已
  当然,方法中的参数key,就是你配置的<data-source>的key
  可以比较方法二比较简洁哦!费了好大功夫才搞出来的,呼呼·····
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式