和题目的题意一样。struts-config.xml中配置 那肯定是在struts 中写配置代码了。在写之前我们要用到两个jar包;
分别是commons-dbcp-1.2.1.jar,commons-pool-1.4.jar:
在struts-config.xml中配置如下代码:我在这边用的数据库是mysql的配置
<data-sources>
<data-source type="org.apache.commons.dbcp.BasicDataSource">
<set-property
property="driverClassName"
value="com.mysql.jdbc.Driver" />
<set-property
property="url"
value="jdbc:mysql://localhost:3306/test" />
<set-property
property="username"
value="root" />
<set-property
property="password"
value="root" />
<set-property
property="maxActive"
value="10" />
<set-property
property="maxWait"
value="5000" />
<set-property
property="defaultAutoCommit"
value="false" />
<set-property
property="defaultReadOnly"
value="false" />
</data-source>
</data-sources>
在上面的代码中红色的字中就是我们以前写的连接属性是一样的。
maxActive :代表最大的连接数
maxWait :最大的等待时间
defaultAutoCommit :自动提交方式
defaultReadOnly :只读方式;
有如上的配置:那我的数据库是mysql。我的用户名和密
码是root
配完了那下一步当然是到用这个数据源了哦:
在Action中可通过getDataSource(request)得到这个数据源:如下代码:
UserManager manager=new UserManager((BasicDataSource) getDataSource(request));
List<BlackInfo> list=manager.findAll();
request.setAttribute("list", list);
return mapping.findForward("success");
写dao也是和以前一样了啦;
package com.web.services;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.dbcp.BasicDataSource;
import com.web.model.BlackInfo;
public class UserManager {
private static final String BALCK_ALL="select * from black_tab";
private BasicDataSource datasource;
public UserManager(BasicDataSource datasource){
try {
this.datasource = datasource;
} catch (Exception e) {
e.printStackTrace();
}
}
public List<BlackInfo> findAll(){
List<BlackInfo> list=new ArrayList<BlackInfo>();
try {
Connection conn=this.datasource.getConnection();
PreparedStatement ps=conn.prepareStatement(this.BALCK_ALL);
ResultSet rs=ps.executeQuery();
BlackInfo black=new BlackInfo();
while(rs.next()){
black.setBlackId(rs.getInt("blackId"));
black.setBlackIp(rs.getString("blackIp"));
black.setBlackTel(rs.getString("blackTel"));
list.add(black);
}
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
}
写到最还是老样子了。如果不懂还是看看实例吧: