镇江地区做网站的公司,站酷网素材图库海报设计,江苏省交通运输厅门户网站建设管理,网站防止挂马应该怎么做一、数据库连接池
1.1 数据库连接池简介 数据库连接池是个容器#xff0c;负责分配、管理数据库连接(Connection) 它允许应用程序重复使用一个现有的数据库连接#xff0c;而不是再重新建立一个#xff1b; 释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数…一、数据库连接池
1.1 数据库连接池简介 数据库连接池是个容器负责分配、管理数据库连接(Connection) 它允许应用程序重复使用一个现有的数据库连接而不是再重新建立一个 释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏 好处 资源重用 提升系统响应速度 避免数据库连接遗漏 之前我们代码中使用连接是每次使用都创建一个Connection对象使用完毕就会将其销毁。这样重复创建销毁的过程是特别耗费计算机的性能的及消耗时间的。
而数据库使用了数据库连接池后就能达到Connection对象的复用如下图 连接池是在一开始就创建好了一些连接Connection对象存储起来。用户需要连接数据库时不需要自己创建连接而只需要从连接池中获取一个连接进行使用使用完毕后再将连接对象归还给连接池这样就可以起到资源重用也节省了频繁创建连接销毁连接所花费的时间从而提升了系统响应的速度。
1.2 数据库连接池实现 标准接口DataSource 官方(SUN) 提供的数据库连接池标准接口由第三方组织实现此接口。该接口提供了获取连接的功能 Connection getConnection() 那么以后就不需要通过 DriverManager 对象获取 Connection 对象而是通过连接池DataSource获取 Connection 对象。 常见的数据库连接池 DBCP C3P0 Druid 我们现在使用更多的是Druid它的性能比其他两个会好一些。 Druid德鲁伊 Druid连接池是阿里巴巴开源的数据库连接池项目 功能强大性能优秀是Java语言最好的数据库连接池之一
1.3 Driud使用
方式一 导入jar包mysql-connection-java.jardruid.jar,同时加入到类加载路径中 直接创建连接池对象new对象 DruidDataSource 然后设置属性。 setDriverClassName() setUrl() setUsername() setPassword() setInitialSize() setMaxSize() setMaxWait() 通过连接池对象获取数据库连接
方式二 导入jar包 mysql-connection-java.jar、druid-1.1.12.jar 定义配置文件 加载配置文件 获取数据库连接池对象 获取连接 现在通过代码实现首先需要先将druid的jar包放到项目下的lib下并添加为库文件 项目结构如下 编写配置文件如下
driverClassNamecom.mysql.jdbc.Driver
urljdbc:mysql:///ssm?useSSLfalseuseServerPrepStmtstrue
usernameroot
passwordroot
# 初始化连接数量
initialSize5
# 最大连接数
maxActive10
# 最大等待时间
maxWait3000
使用druid的代码如下
/*** Druid数据库连接池演示*/
public class DruidDemo {
public static void main(String[] args) throws Exception {//1.导入jar包//2.定义配置文件//3. 加载配置文件Properties prop new Properties();prop.load(new FileInputStream(jdbc-demo/src/druid.properties));//获取工作目录//System.out.println(System.getProperty(user.dir));//采用类加载方式获取文件的内容并封装成流//InputStream is ClassLoader.getSystemClassLoader().getResourceAsStream(druid.properties);//4. 获取连接池对象DataSource dataSource DruidDataSourceFactory.createDataSource(prop);
//5. 获取数据库连接 ConnectionConnection connection dataSource.getConnection();System.out.println(connection); //获取到了连接后就可以继续做其他操作了
//System.out.println(System.getProperty(user.dir));}
} 注意
System.getProperty(user.dir)在web项目返回值就不是项目的根目录了而是tomcat的bin目录。