1、依赖api的使用
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-dbcp2 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.7.0</version>
</dependency>
-
获取连接
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
Properties properties=new Properties();
//获取dbcp配置文件对应输入流
InputStream inputStream=DbcpServlet.class.getClassLoader().getResourceAsStream("dbcp.properties");
//加载dbcp配置文件
properties.load(inputStream);
?
BasicDataSource basicDataSource=null;
try {
//数据源对象
basicDataSource=BasicDataSourceFactory.createDataSource(properties);
//获取数据库连接
Connection connection=basicDataSource.getConnection();
System.out.println(connection);
} catch (Exception e) {
e.printStackTrace();
}
?
}
2、依赖tomcat容器的使用
利用jndi机制实现,jndi(命名及目录查找接口),将数据源连接池的配置信息在容器(Tomcat)实现配置
具体如何实现配置
-
在tomcat的context.xml文件加入数据源配置
<Resource
<!--数据源名字-->
name="jdbc/news"
<!--验证数据源的容器类型-->
auth="Container"
type="javax.sql.DataSource"
<!--最大连接数据库连接对象的数量100-->
maxActive="100"
<!--最大空闲数是30-->
maxIdle="30"
<!--最大等待时间-->
maxWait="10000"
<!--数据库用户名-->
username="root"
<!--数据库密码-->
password="123456"
<!--数据库驱动-->
driverClassName="com.mysql.cj.jdbc.Driver"
<!--数据库url-->
url="jdbc:mysql://localhost:3306/yl?characterEncoding=utf8&serverTimezone=GMT%2B8"/> -
获取连接
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
//获取上下文对象
Context ctx = new InitialContext();
//通过jndi命名服务,找到数据源配置
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/news");
//获取数据库连接
Connection connection = ds.getConnection();
if (!connection.isClosed()) {
System.out.println("连接成功");
}
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
} -