struts1.2 数据源配置
前期准备
1.确保自己的数据库可以连接
2.添加commons-dbcp-1.2.jar commons-pool-1.2.jar commons-collections-3.1.jar
备注1:请将相关jar包粘贴至web项目的WebRoot/WEB-INF/lib文件夹中,按F5刷新,相关jar包会出现在Web App Libraries中
备注2:相关jar包在Myclipse安装目录中有,搜索一下即可
3.数据库连接需要设密码
struts-config.xml配置
<!--此为基本配置-->
<data-sources>
<data-source type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="username" value="root" />
<set-property property="password" value="123" />
<set-property property="driverClassName" value="com.mysql.jdbc.Driver" />
<set-property property="url" value="jdbc:mysql://localhost:3306/test" />
</data-source>
</data-sources>
<!--此为完整配置-->
<data-sources>
<data-source key="datasource" type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="description" value="test" />
<set-property property="username" value="root" />
<set-property property="password" value="123" />
<set-property property="minCount" value="3" />
<set-property property="maxCount" value="10" />
<set-property property="driverClassName" value="com.mysql.jdbc.Driver" />
<set-property property="url" value="jdbc:mysql://localhost/test" />
<set-property property="readOnly" value="false" />
<set-property property="autoCommit" value="true" />
</data-source>
</data-sources>
Action中调用
DataSource datasource = getDataSource(request);
//如果配置了data-source key="datasource" 则用下面的写法
//DataSource datasource = getDataSource(request,"datasource");
Connection myconnection = datasource.getConnection();
Statement statement = myconnection.createStatement();
ResultSet result = statement.executeQuery("select * from user");
错误分析
严重: Initializing application data source org.apache.struts.action.DATA_SOURCE
java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource
分析:缺乏相关jar包
严重: Initializing application data source org.apache.struts.action.DATA_SOURCE
org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user ‘root’@’localhost’ (using password: NO))
分析:1.没有密码
2.用户密码配置有误