配置项目我用的是手工的方式配置的,不知道在Myeclipse中能不能用自动配置的方式配置。在Tomcat配置项目添加在server.xml中添加一句话就可以了
<Context path="/c3p0" docBase="C:\Documents and Settings\Administrator\Workspaces\MyEclipse 8.5\c3p0/WebRoot" debug="0" privileged="true" reloadable="true">
那么接下来就配置Tomcat下conf中的congtent.xml文件
<Resource name="jdbc/c3p0" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="1000" username="root" password="xiaoyang"
driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/test"
removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"/>
然后再就可以用用java代码就能直接使用了
package com.yangtao.util;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class DBConnection {
private Connection conn = null;
public Connection getConnection() {
// 生成上下文对象,通过它可以向容器发送别名.
Context context;
try {
context = new InitialContext();
// 查找对象
DataSource ds = (DataSource) context
.lookup("java:comp/env/jdbc/c3p0");// jdbc/liuwei为配置文件中的name
// 得到连接
try {
conn = ds.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public List<Integer> getAllID() throws SQLException {
List<Integer> list = new ArrayList<Integer>();
DBConnection dbConnection = new DBConnection();
Connection connection = dbConnection.getConnection();
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("select * from reply");
while(resultSet.next()){
int id = resultSet.getInt(1);
//System.out.println(id);
list.add(id);
}
if(resultSet != null){
resultSet.close();
}
if(statement != null){
statement.close();
}
if(connection != null){
connection.close();
}
return list;
}
}
DAO层可以负责java增删改查之类的,然后再页面就可以直接使用了
不能直接写成main()方法来测试,测试会提示错误的。
基本这样配置就可以了,不过有个问题,就是在关闭Tomcat服务器的时候 下面会说有可能造成内存泄露 不知道这个是什么原因。还望高手指导!!!