郁闷的Struts数据源

郁闷的Struts数据源
今天在试验了一下在Struts-config中配置数据源,虽然说这种方法并不推荐,
操作步骤:
      首先导入几个需要的包:首先自己连接数据库用的包,因为我用的是Mysql所以用的是“mm.mysql-2.0.4-bin.jar”,还有“commons-dbcp-1.2.1.jar”这个是数据源中要用到的包,还有“commons-pool-1.2.jar”这个不太清楚
     其次在Struts-config.xml中加入如下代码
     < data-sources >
        
< data-source  key ="rki"  type ="org.apache.commons.dbcp.BasicDataSource" >  //type代表类,rki表示当有多个数据源时相
//当于一个索引,id值

            
< set-property  property ="driverClassName"  value ="org.gjt.mm.mysql.Driver"   />//连接mysql所需的类库
            
< set-property  property ="url"  value ="jdbc:mysql://172.20.0.40:3306/test?useUnicode=true&amp;characterEncoding=GBK"   />
            
< set-property  property ="username"  value ="root"   />
            
< set-property  property ="password"  value ="你的密码"   />
            
< set-property  property ="maxActive"  value ="10"   />
            
< set-property  property ="maxWait"  value ="500"   />
            
< set-property  property ="defaultAutoCommit"  value ="false"   />
            
< set-property  property ="defaultReadOnly"  value ="false"   />
        
</ data-source >
    
</ data-sources >
然后现在就可以在你的Action试验数据库的连接,简单引用的代码片断
datasource  =  getDataSource(request,  " rki " );
            conn 
=  datasource.getConnection();
            Statement state 
=  conn.createStatement();
            System.out.println(
" hello " );
            String sql 
=   " select * from notice where title='test' " ;
            ResultSet rs 
=  state.executeQuery(sql);
            
while  (rs.next())  {
                request.getSession().setAttribute(
"cont",
                        rs.getString(
"content"));
                System.out.println(
"database connect true");
            }

            rs.close();
在试验的过程中,老是不能连接,出“Initializing application data source”我仔细检查过以上的配置并没有问题,重启了几次服务器也不行,查了N多资料,最后居然自己好了,郁闷的要死
一点总结,
           可见在Struts中配置数据源要比别的连接方法要复杂,而且效率上来说也不一定要好,还不如自己通过自己编写简单的访问数据库的类,或者是直接采用Tomcat的数据源要方便 一些。

你可能感兴趣的:(郁闷的Struts数据源)