改变数据连接
类1 ActionServlet
public class ActionServlet extends ActionServlet
{
public void init()
throws
ServletException {
DataSource ds = (DataSource)dataSources.get("org.apache.struts.action.DATA_SOURCE");
log.debug("get datasource class name: " + ds.getClass().getName());
DBPool.setDataSource(ds);
Connection cnt = DBPool.getConnection(getClass().getName());
}
}
类2 DBPool
public class DBPool
{
public static void setDataSources(HashMap dss)
{
dataSources = dss;
}
public static Connection getConnection(String className)
{
Connection conn = null;
if(dataSource != null)
try
{
conn = dataSource.getConnection();
}
catch(
SQLException e)
{
log.debug("", e);
}
else
log.debug("dataSource is null!");
if(conn != null)
client.put(conn, new Entry(className));
else
dump();
return conn;
}
}
取得一个连接conn
Connection conn = DBPool.getConnection(CacheUsers.class.getName());
现在我想改变,对不同的数据进行操作,在struts-config.xml改了
<data-sources>
<data-source type="org.apache.commons.dbcp.BasicDataSource">
<set-property
property="driverClassName"
value="com.microsoft.jdbc.sqlserver.SQLServerDriver" />
<set-property
property="url"
value="jdbc:microsoft:sqlserver://localhost:1433;databasename=deoa" />
<set-property
property="username"
value="sa" />
<set-property
property="password"
value="123" />
<set-property
property="maxActive"
value="100" />
<set-property
property="maxWait"
value="5000" />
<set-property
property="defaultAutoCommit"
value="true" />
<set-property
property="defaultReadOnly"
value="false" />
<set-property
property="validationQuery"
value="SELECT COUNT(*) FROM tb_popedom" />
</data-source>
</data-sources>
但还是不能改变对数据连接,原来是mysql 现在想改为mssql ,但它还是连得原来的mysql去,请问还有可能是在哪里改可以连到mssql 的?
------解决方案--------------------改后有没有deploy或build一下。
或者看一下有没有这个文件 "工程名-struts-config.xml".
------解决方案--------------------修改后最好重新部署下!看看