96SEO 2026-02-19 10:33 0
当系统初始化好后#xff0c;容器被创建#xff0c;容器中会申请一些连接对象#xff0c;当用户来访问数据库时#xff0c;从容器中获取连接对象#xff0c;用户访问完…连接池

当系统初始化好后容器被创建容器中会申请一些连接对象当用户来访问数据库时从容器中获取连接对象用户访问完之后会将连接对象归还给容器。
缺点用户每次请求都需要向数据库获得链接而数据库创建连接通常需要消耗相对较大的资源创建时间也较长。
假设网站一天10万访问量数据库服务器就需要创建10万次连接极大的浪费数据库的资源并且极易造成数据库服务器内存溢出。
连接池技术的核心思想是连接复用通过建立一个数据库连接池以及一套连接使用、分配、管理策略使得该连接池中的连接可以得到高效、安全的复用避免了数据库连接频繁建立、关闭的开销。
归还连接Connection.close()。
如果连接对象Connection是从连接池中获取的那么调用Connection.close()方法则不会再关闭连接了。
而是归还连接。
厂商实现
Druid数据库连接池实现技术由阿里巴巴提供的c3p0数据库连接池
com.mchange.v2.c3p0.ComboPooledDataSource;//
你抽出的代码要有一定意义并且要有通用性任何一个关于这个工具类都
ComboPooledDataSource();//创建连接public
namedriverClasscom.mysql.jdbc.Driver/propertyproperty
namejdbcUrljdbc:mysql:///day03/propertyproperty
nameinitialPoolSize5/propertyproperty
namemaxPoolSize10/propertyproperty
namecheckoutTimeout3000/property/default-config
JdbcUtil.getConnection();Statement
定义配置文件是xx.properties形式的可以叫任意名称可以放在任意目录下,
获取连接getConnection代码实现//3.加载配置文件Properties
DruidDemo.class.getClassLoader().getResourceAsStream(druid.properties);pro.load(is);//4.获取连接池对象DataSource
DruidDataSourceFactory.createDataSource(pro);//5.获取连接Connection
driverClassNamecom.mysql.jdbc.Driverurljdbc:mysql:///db3usernamerootpasswordroot#
Properties();pro.load(JDBCUtils.class.getClassLoader().getResourceAsStream(druid.properties));//2.获取DataSourceds
DruidDataSourceFactory.createDataSource(pro);}
Spring框架对JDBC的简单封装。
提供了一个JDBCTemplate对象简化JDBC的开发后面我们专门讲spring框架
创建JdbcTemplate对象。
依赖于数据源DataSourceJdbcTemplate
调用JdbcTemplate的方法来完成CRUD的操作update():执行DML语句。
增、删、改语句queryForMap():查询结果将结果集封装为map集合将列名作为key将值作为value
将这条记录封装为一个map集合注意这个方法查询的结果集长度只能是1queryForList():查询结果将结果集封装为list集合注意将每一条记录封装为一个Map集合再将Map集合装载到List集合中query():查询结果将结果封装为JavaBean对象query的参数RowMapper一般我们使用BeanPropertyRowMapper实现类。
可以完成数据到JavaBean的自动封装new
BeanPropertyRowMapper类型(类型.class)queryForObject查询结果将结果封装为对象一般用于聚合函数的查询快速入门
{//1.导入jar包//2.创建JDBCTemplate对象JdbcTemplate
JdbcTemplate(JDBCUtils.getDataSource());//3.调用方法String
System.out.println(count);//自已关闭自已归还}
JDBCUtil.getDataSource();//使用jdbcTemplate
JdbcTemplate(dataSource);//修改Testpublic
2);System.out.println(i);}//添加Testpublic
郑州);System.out.println(i);}//删除Testpublic
1);System.out.println(i);}//查询数据返回listTestpublic
BeanPropertyRowMapper(Emp.class),
emps){System.out.println(e);}}//查询条数Testpublic
this.JdbcTemplate.queryForObject(sql,
Long.class);System.out.println(i);}//查询数据返回mapTestpublic
this.JdbcTemplate.queryForMap(sql,2);//map遍历SetString
map.get(key);System.out.println(key
this.template.queryForObject(sql,
BeanPropertyRowMapper(Emp.class),9);}
RuntimeException(没有查询到数据);//没有查询到方式二return
jt.queryTest3();System.out.println(emp);}}
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback