为了提高性能,若直接获得数据库的连接,性能比较低。一般会使用连接池,通过连接池去管理数据库的连接,这样可以达到一个高效操作数据库连接的作用。要想使用连接池,有两种方式:
一、 在应用服务器中进行设置:如在Tomcat中进行设置。
二、 使用第三方的,专门的进行连接池设置的组件。Comment dbcb、c3p0。
以下介绍第一种方法:
在Tomcat中设置连接池:
(1) 在tomcat的安装目录下找到context.xml,打开context.xml.
(2) 在<Context>……</Context>里面添加连接池:
针对Oracle的连接池:
<Resource name="jdbc/oracleds"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="scott"
password="tiger"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@127.0.0.1:1521:oracle9i"/>
针对Mysql的连接池:
<Resource name="jdbc/mysqlds"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="root"
password="root"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/blog "/>
注:blog为数据库名称 oracle9i为安装时设置的名称
(3) 把Oracle或者Mysql的驱动拷贝到Tomcat安装目录下的lib目录里。(ojdbc14.jar或mysql-connector-java-5.1.6-bin.jar)
(4) 重启eclipse里面的Tomcat使其生效。
(5) 使用数据连接池:
在需要操作数据库的地方使用:DataSource 如下所示:
/** 通过Tomcat中的连接池获得数据库的连接,此处是使用数据库连接池向数据库表blog中插入博文 */
// 获取数据源对象,先声明数据源对象
// 数据源对象可以理解为连接池的管理者,通过他可以获取数据的连接
DataSource ds = null;
try {
Context context = new InitialContext();
ds = (DataSource) context.lookup("java:/comp/env/jdbc/mysqlds");
} catch (Exception e) {
System.out.println("获取数据源时出错");
}
// 使用DataSource的对象获得connection的对象,此connection对象就是数据库链接的对象
int result = 0;
/** 以上一段代码可以使用封装类DBUtils中的方法取代(先导入commons-dbutils-1.3.jar包) */
// Connection conn = null;
try {
// conn = ds.getConnection();
// QueryRunner qr = new QueryRunner();
//或者让其自已获取数据源对象
QueryRunner qr = new QueryRunner(ds);
ResultSetHandler rsh = new ArrayListHandler();
String sql = "insert into blog(title,content,category_id,created_time) values(?,?,?,now())";
//通过数组的形式接收参数
String params[] = {title,content,categoryId};
// result = qr.update(conn, sql,params);
result = qr.update(sql,params);
// conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
String message = "";
if (result == 1) {
message = "添加博文成功!";
} else {
message = "添加博文失败!";
}
// 使message在页面中显示,必须把参数传过去(可能通过request或session进行传递)
// request对象对性能损失要小,尽量使用request对象
request.setAttribute("message", message);
// 转向页面或转向另一个action
request.getRequestDispatcher("/addBlogResult.jsp").forward(request, response);
System.out.println("影响的行数:" + result);
分享到:
相关推荐
### Tomcat服务器配置及数据库连接池配置详解 #### 一、Tomcat服务器配置与环境搭建 ##### 1. JDK安装与配置 - **系统环境**:Windows 2003 Server SP3。 - **JDK路径设置**: - `JAVA_HOME` 设置为 `C:\JDK`。 ...
通过`Java连接access数据库.doc`、`Java连接access数据库.txt`和`Access数据库连接(整理)`这些文档,你可以深入学习和理解如何在不同编程环境下建立Access数据库的连接,以及更高级的数据库操作技术,如事务处理、...
Druid是阿里巴巴开源的一款高效、强大的数据库连接池组件,它不仅提供了数据库连接池功能,还集成了监控、SQL解析、执行性能统计等多种实用特性,是Java开发中常用的数据库连接池之一。Spring Boot作为微服务开发的...
Druid是阿里巴巴开源的一个数据库连接池组件,它不仅是一个优秀的数据库连接池,还包含SQL解析、监控、扩展性等多方面的功能。Druid在性能上表现优秀,提供了强大的监控和扩展机制,是许多Java企业级应用的首选...
3. 数据库连接池:数据库连接池是管理数据库连接的机制,提高数据库操作效率。文中提到的可能是关于如何在Java中实现和规范数据库连接池的代码。 4. PDF安全与处理:防止PDF注入,可能涉及在生成或处理PDF文件时的...
2. 数据库连接池支持:如C3P0、DBCP等,它们提供了分页查询的方法,可以在连接池层面处理分页,提高了性能。 3. ORM框架支持:如Hibernate和MyBatis,它们提供了分页插件或者API,简化了分页操作。 - Hibernate:...
C3P0连接池是开源的JDBC连接池,提供了管理数据库连接的功能,如自动回收、检测死锁等。使用连接池可以有效地管理和复用数据库连接,避免频繁创建和销毁连接带来的性能开销,同时也能提高系统的并发处理能力。 ...
这需要通过API接口或者数据库连接池实现数据交互,保证信息的实时更新和一致性。 综上所述,网人分类信息WRMPS v2008 SP2 0718 企业版与MSSQL的结合,构建了一个高效、安全的信息发布平台。通过对数据库的精细设计...
要熟悉连接池的使用,如C3P0或DBCP,理解DataSource和RowSet,以及Oracle和MySQL的连接方式。 4. **HTML/CSS/JavaScript**:网页制作的三大基础,HTML负责内容结构,CSS负责样式表现,JavaScript负责交互行为。...
高效的数据库操作通常会采用连接池技术,如C3P0、HikariCP或Druid等,它们预先创建并管理一组数据库连接,避免频繁的创建和关闭连接,提高性能。JDBC工具类可能集成了连接池的配置和管理,方便开发者使用。 5. **...
4. ConnectionProvider:生成JDBC连接的工厂(有连接池的作用)。它通过抽象将应用从底层的Datasource或DriverManager隔离开。仅供开发者扩展/实现用。 Hibernate可以帮助开发者消除或者包装那些针对特定厂商的SQL...
使用数据库连接池管理数据库连接,减少连接建立和释放的时间消耗。 具体来说: - **使用缓存**:对于一些不经常变化的数据,可以将其存储在缓存中,减少数据库访问次数,提高响应速度。 - **性能分析工具**:使用...
后台进程则是Oracle实例的另一个重要元素,它们负责监控数据库状态、管理I/O、处理用户连接和事务等任务。例如,DBWR进程负责将缓存中的数据写入数据文件,LGWR进程负责将重做日志缓冲区的内容写入重做日志文件,...
{13.6}连接池}{199}{section.13.6} {13.6.1}Wrapper}{199}{subsection.13.6.1} {13.7}DAO}{199}{section.13.7} {13.8}java.util.Date与java.sql.Date比较}{200}{section.13.8} {13.9}Meta Data}{201}{section....
SpringBoot自动配置了许多常见的第三方库,如数据库连接池、日志管理等,使得开发者可以快速创建可独立运行的、生产级别的Java应用。 【Vue.js】 Vue.js是前端的轻量级MVVM(Model-View-ViewModel)框架,以其简洁...
13. **数据库连接与JDBC**:理解SQL语言,掌握Java与数据库的交互,包括连接池的使用和事务管理。 14. **网络编程**:Socket编程、HTTP协议的理解,以及如何使用Java进行网络通信。 15. **单元测试与持续集成**:...
本网站以xp为Web平台,JSP+Ajax+Servlet+JavaBean+Hibernate为网站实现技术,建立基于MySQL数据库系统的核心动态网页,实现博客网站前台及博客个人维护管理等功能模块。 1、 系统处理的准确性和及时性:系统处理的...
为了提高系统的响应速度和并发处理能力,可以考虑使用数据库连接池,减少每次建立新连接的开销。同时,合理设计索引和优化SQL查询也对性能有很大影响。 8. 系统扩展性: 随着用户数量的增长,ACCESS可能不足以...
在你提供的资源中,“一堆ASP.NET小代码”是个人整理的一些ASP.NET编程片段,涵盖了日期格式验证、MD5加密、UpdatePanel内JavaScript提示的处理以及数据库连接等常见主题。下面将对这些知识点进行详细解释。 1. **...