JNDI tomcat
JNDI数据源简易配置:/WebRoot/META-INF/context.xml
<Context>
<!--Workflow mysql -->
<Resource name="jdbc/workflow" auth="Container"
type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/workflow"
username="root" password="" maxActive="10" maxIdle="5"
maxWait="-1"/>
</Context>
web.xml
<resource-ref>
<description>mysql</description>
<res-ref-name>jdbc/workflow</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
mysql的jar包,放到项目下,并放到tomcat目录下
tomcat-6.0.14\lib\mysql-connector-java-5.1.5-bin.jar
tomcat-5.5.35\common\lib\mysql-connector-java-5.1.5-bin.jar(tomcat5,可不放)
测试类:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class DataSourceUtil {
// java:comp/env/是必须加的,后面跟你的DataSource名
private String JNDI = "java:comp/env/jdbc/workflow";
private DataSource ds = null;
private Connection conn = null;
private PreparedStatement pstm = null;
private ResultSet rs = null;
//构造函数
public DataSourceUtil() {
try {
// 初始化查找命名空间
Context ctx = new InitialContext();
// InitialContext ctx = new InitialContext();亦可
// 找到DataSource,对名称进行定位java:comp/env是必须加的,后面跟你的DataSource名
ds = (DataSource) ctx.lookup(JNDI);
// 取出连接
conn = ds.getConnection();
System.out.println("connection pool connected !!");
} catch (NamingException e) {
System.out.println(e.getMessage());
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 注意不是关闭,是放回连接池.
//conn.close();
}
}
// 注意不是关闭,是放回连接池.
public void colse(){
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public ResultSet find(String sql) throws SQLException{
pstm = conn.prepareStatement(sql);
rs = pstm.executeQuery();
return rs;
}
public void displayRs(ResultSet rs) throws SQLException{
while(rs.next()){
System.out.println("user name is " + rs.getString(1));
}
}
public static void main(String[] args) {
DataSourceUtil dsu = new DataSourceUtil();
}
}
页:
[1]