实战说明
本项目是一个Javaweb项目,主要用于练习使用连接池技术以及对数据库的基本操作。
为什么要使用连接池(jndi)
数据库连接池具有:优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销等作用,是我们做Javaweb项目必不可少的一项技能。
本项目使用了
1、使用Tomcat8.0
2、数据库使用MySQL
3、
项目结构:
流程
第一步:配置Tomcat,这里不进行说明,要注意的是,这里使用的是Tomcat8.0,配置好Tomcat后,系统会自动生成一个servers文件夹,与项目同级。
第二步:打开Tomcat的文件夹,在lib包下插入数据库操作包(这里不再给出)
第三步:修改severse下的context文件(第22行左右),插入以下代码,其中用户名和密码请根据实际情况修改
<Resource
auth="Container"
driverClassName="com.mysql.jdbc.Driver"
maxActive="100"//最大连接数
maxIdle="30"//最大空闲数
maxWait="10000"//最长等待时间
name="jndi/mysql"
password="123456"//这里是你数据库连接的密码
type="javax.sql.DataSource"
url="jdbc:mysql://localhost:3306/news"//你要操作的表名
username="root"/>//数据库连接的用户名
第四步:配置web.xml文件,如下图所示,
第五步:到这里我们的连接池已经建立好了,接下来调用连接池。下面是我们的工具类,对应目录中的Todb.java文件,该工具类的调用与我们之前没有使用连接池时调用方法是一样的。
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class Todb {
//连接
public static Connection getConnection() {
try {
//创建出上下文
Context context=new InitialContext();
//读取TomCat数据库连接池
DataSource ds=(DataSource)context.lookup("java:comp/env/jndi/mysql");
return ds.getConnection();
}catch (NamingException e) {
// TODO: handle exception
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
到此,我们已经成功创建了连接池并且能够调用它去进行增删改查了。这里请注意,如果你在使用Tomcat的过程中出现我们点击过几次之后,再点击Tomcat会一直进入加载状态,不报错,也加载不出来,那么请看我的下一篇文章,如何解决Tomcat的假死状态。