由于项目需要,用到Tomcat连接池,从网上查了很多内容,按照高人的内容一步一步,还是有问题,最后还是看官方例子找到了正确方法。
官网链接:http://tomcat.apache.org/tomcat-8.5-doc/jndi-resources-howto.html
tomcat版本:apache-tomcat-8.5.15
1、将mysql的连接包mysql-connector-java-5.1.41-bin.jar文件拷贝到Tomcat的lib文件夹下。
2、web应用下,META-INF文件夹下新建context.xml,(参考tocat的context.xml,抄头抄尾),添加
<Resource
name="jdbc/t1"
auth="Container"
type="javax.sql.DataSource"
maxTotal="100"
maxIdle="30"
maxWaitMillis="10000"
username="tomcat"
password="123456"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:8080:3306/t1"
/>
3、web应用下,WEB-INF文件夹下web.xml文件中添加:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/t1</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
4、部署web应用到tomcat,启动tomcat,无报警。
5、在代码中应用
Context c = new InitialContext();
DataSource ds = (DataSource)c.lookup("java:comp/env/jdbc/t1");
conn = ds.getConnection();
使用连接池的好处是:
1、数据库操作性能得到提升;
2、通过连接池管理数据库的连接与释放、提高了系统资源的使用效率;