首先下个mysql的驱动程序包mysql-connector-java-5.1.6-bin.jar放在tomcat6.0\lib目录里,
其次在tomcat6.0\conf目录下找context.xml文件。在<Context>节点里加入下面代码
<Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/zhangshangdb?useUnicode=true&characterEncoding=gbk" username="root" password="admin" maxActive="100" maxIdle="30" maxWait="10000" />
再次。在项目的web.xml中加入下面代码
<resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/mysql</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
最后引用就可以了
public static Connection getConnection(){
DataSource ds = null;
Connection conn = null;
try{
InitialContext ctx=new InitialContext();
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql");
conn = ds.getConnection();
}catch(Exception e){
e.printStackTrace();
}
return conn;
}
有几个地方很容易出错。
1.url 关于
Url = "jdbc:mysql://localhost:3306/test?useUnicode=true& characterEncoding=gbk"
与 Url = "jdbc:mysql://localhost:3306/test?useUnicode=true& characterEncoding=gbk"
写法的要注意的地方,& 是 & 的转义符号,两种写法都是正确的,只是下面的写法用在xml配置文件中,而上面的用在java代码中。
2.<Resource>中的name要和<Recource-ref>中的<res-ref-name>和ctx.lookup("java:comp/env/jdbc/mysql")一致。