spring2+proxool 配置
String2+proxool 配置
proxool+ jtds 配置
spring+jdbcTemplate配置
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <display-name>webManageSystem</display-name> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>ServletConfigurator</servlet-name> <servlet-class> org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class> <init-param> <param-name>propertyFile</param-name> <param-value>WEB-INF\classes\proxool.properties </param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet> <servlet-name>Admin</servlet-name> <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Admin</servlet-name> <url-pattern>/proxool.admin</url-pattern> </servlet-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> </web-app>
proxool.properties 这里对应web.xml的放置位置
jdbc-0.proxool.alias=DBPool
jdbc-0.proxool.driver-url=jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=webManageSystem
jdbc-0.proxool.driver-class=net.sourceforge.jtds.jdbc.Driver
jdbc-0.user=sa
jdbc-0.password=123789
jdbc-0.proxool.house-keeping-sleep-time=40000
jdbc-0.proxool.house-keeping-test-sql=SELECT ''
jdbc-0.proxool.maximum-connection-count=50
jdbc-0.proxool.minimum-connection-count=15
jdbc-0.proxool.maximum-connection-lifetime=18000000
jdbc-0.proxool.simultaneous-build-throttle=5
jdbc-0.proxool.recently-started-threshold=40000
jdbc-0.proxool.overload-without-refusal-lifetime=50000
jdbc-0.proxool.maximum-active-time=60000
jdbc-0.proxool.verbose=true
jdbc-0.proxool.trace=true
jdbc-0.proxool.fatal-sql-exception=Fatal error
jdbc-0.proxool.prototype-count=2
jdbc-0.proxool.statistics-log-level=ERROR
applicationContext.xml文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"> <value>org.logicalcobwebs.proxool.ProxoolDriver</value> </property> <property name="url"> <value>proxool.DBPool</value> </property> </bean> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="dataSource" /> </bean> <bean id="adminUserDao" class="web.manage.admin.user.dao.impl.UserDao"> <property name="jdbcTemplate"> <ref bean="jdbcTemplate"></ref> </property> </bean> </beans>
web.manage.admin.user.dao.impl.UserDao类
package web.manage.admin.user.dao.impl;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowCallbackHandler;
import web.manage.admin.user.dao.interfaces.IUserDao;
import web.manage.admin.user.form.UserForm;
public class UserDao implements IUserDao {
private JdbcTemplate jdbcTemplate;
/**
* @param jdbcTemplate
* the 获取数据源 to set
*/
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
/*
* (non-Javadoc)
*
* @see web.manage.admin.user.dao.interfaces.IUserDao#deleteUser(long)
*/
@Override
public boolean deleteUser(long id) {
int i = jdbcTemplate.update(
"delete from webSys_adminUser where id = ?",
new Object[] { id });
if (i == 0)
return false;
else
return true;
}
/*
* (non-Javadoc)
*
* @see web.manage.admin.user.dao.interfaces.IUserDao#getUser(long)
*/
@Override
public UserForm getUser(long id) {
String sql = "select * from webSys_adminUser where id=?";
final UserForm u = new UserForm();
final Object[] params = new Object[] { id };
jdbcTemplate.query(sql, params, new RowCallbackHandler() {
public void processRow(ResultSet rs) throws SQLException {
u.setId(rs.getLong("id"));
u.setUserName(rs.getString("userName"));
u.setPassword(rs.getString("password"));
u.setPopedom(rs.getString("popedom"));
}
});
return u;
}
/*
* (non-Javadoc)
*
* @see
* web.manage.admin.user.dao.interfaces.IUserDao#getUser(java.lang.String)
*/
@Override
public UserForm getUser(String username) {
String sql = "select * from webSys_adminUser where username=?";
final UserForm u = new UserForm();
final Object[] params = new Object[] { username };
jdbcTemplate.query(sql, params, new RowCallbackHandler() {
public void processRow(ResultSet rs) throws SQLException {
u.setId(rs.getLong("id"));
u.setUserName(rs.getString("userName"));
u.setPassword(rs.getString("password"));
u.setPopedom(rs.getString("popedom"));
}
});
return u;
}
/*
* (non-Javadoc)
*
* @see
* web.manage.admin.user.dao.interfaces.IUserDao#getUserList(java.lang.String
* )
*/
@Override
public List<UserForm> getUserList(String sql) {
List<UserForm> list;
list = jdbcTemplate.query(sql, new UserRowMap());
return list;
}
/*
* (non-Javadoc)
*
* @see
* web.manage.admin.user.dao.interfaces.IUserDao#saveUser(web.manage.admin
* .user.form.UserForm)
*/
@Override
public boolean saveUser(UserForm user) {
String sql = "insert into webSys_adminUser(userName,password,popedom,) VALUES(?,?,?)";
int i = jdbcTemplate.update(sql, new Object[] { user.getUserName(),
user.getPassword(), user.getPopedom() });
return i != 0;
}
/*
* (non-Javadoc)
*
* @see web.manage.admin.user.dao.interfaces.IUserDao#updatePasswd(long,
* java.lang.String)
*/
@Override
public boolean updatePasswd(long id, String password) {
String sql = "UPDATE webSys_adminUser set password=? where id=?";
int i = jdbcTemplate.update(sql, new Object[] { password, id });
return i != 0;
}
/*
* (non-Javadoc)
*
* @see
* web.manage.admin.user.dao.interfaces.IUserDao#updateUser(web.manage.admin
* .user.form.UserForm)
*/
@Override
public boolean updateUser(UserForm user) {
String sql = "UPDATE webSys_adminUser set userName=?,password=?,popedom=?";
int i = jdbcTemplate.update(sql, new Object[] { user.getUserName(),
user.getPassword(), user.getPopedom() });
return i != 0;
}
}
需要的UserRowMap 类
package web.manage.admin.user.dao.impl;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.springframework.jdbc.core.RowMapper;
import web.manage.admin.user.form.UserForm;
public class UserRowMap implements RowMapper {
/*
* (non-Javadoc)
*
* @see org.springframework.jdbc.core.RowMapper#mapRow(java.sql.ResultSet,
* int)
*/
@Override
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
UserForm u = new UserForm();
u.setUserName(rs.getString("userName"));
u.setPassword(rs.getString("password"));
u.setPopedom(rs.getString("popedom"));
return u;
}
}