jdbc配置图:
代码如下:
<Resource name="jdbc/website"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://@localhost/test"
username="test"
password="123"
maxIdle="10"
maxWait="10000"
maxActive="350"
removeAbandoned="true"
removeAbandonedTimeout="180"
logAbandoned="true"
factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" />
在tomcat\conf\Catalina\localhost\下编写对应的test.xml,内容如下
<?xml version='1.0' encoding='utf-8'?>
<Context displayName="test" docBase="/test" path="/test" workDir="work/Catalina/localhost/test">
<ResourceLink name="jdbc/website" global="jdbc/website" type="javax.sql.DataSource"/>
</Context>
如果项目不放置在tomcat中,需要做的操作如下:
<?xml version='1.0' encoding='utf-8'?>
<Context displayName="test" docBase="D:/abc/webapps/test " path="/test" workDir="work/Catalina/localhost/test">
<ResourceLink name="jdbc/website" global="jdbc/website" type="javax.sql.DataSource"/>
</Context>
这里表示的是访问的工程是:D:/abc/webapps/test,不是tomcat的webapps下的内容。
获取数据源类如下:
package com.ucap.survey.utils;
import Java.sql.Connection;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
public final class JdbcUtils {
private static String dataSourceName = null;
/**
* 获得数据库连接
*/
public static Connection getConnection() {
try {
Context context = new InitialContext();
DataSource dataSource = (DataSource) context.lookup("java:comp/env/" + getDataSourceName());
return dataSource.getConnection();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static String getDataSourceName() {
if (dataSourceName == null) {
dataSourceName = GetPropertyFromFileUtil.getProperty2("jdbc.properties", "dataSourceName").trim();
}
return dataSourceName;
}
}
dao实现类如下:
public class TestDaoImpl implements TestDao {
public List<TestBean> findName(String Id) {
try {
Connection conn = JdbcUtils.getConnection();
String sql = "select * from test where id=? " ;
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, id);
ResultSet rs = ps.executeQuery();
List<TestBean> list = new ArrayList<TestBean>();
while (rs.next()) {
TestBean testBean = new TestBean();
String id = rs.getString("id");
testBean.setId(id);
list.add(testBean);
}
rs.close();
ps.close();
conn.close();
return list;
} catch (SQLException e) {
throw new DaoException(e);
}
}