DataSource里找不到getConnection()方法

用JNDI获取mysql数据库连接时

public boolean getConnection1(){
    try {
        //获取上下文
        Context ctx = new InitialContext();
        //获取与逻辑名相关联的数据源对象
        DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc");
        connection = ds.getConnection();
        return true;
    } catch (NamingException e) {
        e.printStackTrace();
        return false;
    }
}

ds.getConnection()报错,提示:Cannot resolve method’getConnection()’。
一、检查是否导错包:import javax.activation.DataSource;
正确的应该是:import javax.sql.DataSource;
且应该抛出异常:

catch (SQLException e) {
        e.printStackTrace();
    }

二、tomcat安装目录下,conf的context.xml增加数据源代码是否正确:

	<Resource name="jdbc" 
	auth="Container"
	type="javax.sql.DataSource"
	maxActive="100" 
	maxIdle="30"
	maxWait="10000"
	username="root"
	password="你的密码"		
	driverClassName="com.mysql.jdbc.Driver"
	url="jdbc:mysql://localhost:3306/数据库名?useUnicode=true&amp;characterEncoding=utf8"/>

版权声明:本文为Pirate517原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。