`
jsd117
  • 浏览: 1798 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

设置数据库连接池(个人整理)

阅读更多

为了提高性能,若直接获得数据库的连接,性能比较低。一般会使用连接池,通过连接池去管理数据库的连接,这样可以达到一个高效操作数据库连接的作用。要想使用连接池,有两种方式:

一、     在应用服务器中进行设置:如在Tomcat中进行设置

二、     使用第三方的,专门的进行连接池设置的组件。Comment dbcbc3p0

以下介绍第一种方法:

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.jarmysql-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在页面中显示,必须把参数传过去(可能通过requestsession进行传递)

       // request对象对性能损失要小,尽量使用request对象

       request.setAttribute("message", message);

       // 转向页面或转向另一个action

       request.getRequestDispatcher("/addBlogResult.jsp").forward(request, response);

System.out.println("影响的行数:" + result);

分享到:
评论

相关推荐

    Tomcat服务器配置及数据库连接池配置(个人整理版)

    ### Tomcat服务器配置及数据库连接池配置详解 #### 一、Tomcat服务器配置与环境搭建 ##### 1. JDK安装与配置 - **系统环境**:Windows 2003 Server SP3。 - **JDK路径设置**: - `JAVA_HOME` 设置为 `C:\JDK`。 ...

    Access数据库连接(整理)

    通过`Java连接access数据库.doc`、`Java连接access数据库.txt`和`Access数据库连接(整理)`这些文档,你可以深入学习和理解如何在不同编程环境下建立Access数据库的连接,以及更高级的数据库操作技术,如事务处理、...

    参照阿里druid个人整理druid-spring-boot-starter可运行demo

    Druid是阿里巴巴开源的一款高效、强大的数据库连接池组件,它不仅提供了数据库连接池功能,还集成了监控、SQL解析、执行性能统计等多种实用特性,是Java开发中常用的数据库连接池之一。Spring Boot作为微服务开发的...

    参照阿里druid整理druid-spring-boot-starter的demo

    Druid是阿里巴巴开源的一个数据库连接池组件,它不仅是一个优秀的数据库连接池,还包含SQL解析、监控、扩展性等多方面的功能。Druid在性能上表现优秀,提供了强大的监控和扩展机制,是许多Java企业级应用的首选...

    第一周期(2021_07_10-2021_07_19).pdf

    3. 数据库连接池:数据库连接池是管理数据库连接的机制,提高数据库操作效率。文中提到的可能是关于如何在Java中实现和规范数据库连接池的代码。 4. PDF安全与处理:防止PDF注入,可能涉及在生成或处理PDF文件时的...

    java分页 个人整理

    2. 数据库连接池支持:如C3P0、DBCP等,它们提供了分页查询的方法,可以在连接池层面处理分页,提高了性能。 3. ORM框架支持:如Hibernate和MyBatis,它们提供了分页插件或者API,简化了分页操作。 - Hibernate:...

    阶段总结源码.zip

    C3P0连接池是开源的JDBC连接池,提供了管理数据库连接的功能,如自动回收、检测死锁等。使用连接池可以有效地管理和复用数据库连接,避免频繁创建和销毁连接带来的性能开销,同时也能提高系统的并发处理能力。 ...

    网人分类信息WRMPS v2008 SP2 0718 企业版 MSSQL的数据库.rar

    这需要通过API接口或者数据库连接池实现数据交互,保证信息的实时更新和一致性。 综上所述,网人分类信息WRMPS v2008 SP2 0718 企业版与MSSQL的结合,构建了一个高效、安全的信息发布平台。通过对数据库的精细设计...

    java 学习方向 个人整理

    要熟悉连接池的使用,如C3P0或DBCP,理解DataSource和RowSet,以及Oracle和MySQL的连接方式。 4. **HTML/CSS/JavaScript**:网页制作的三大基础,HTML负责内容结构,CSS负责样式表现,JavaScript负责交互行为。...

    jdbc工具整理

    高效的数据库操作通常会采用连接池技术,如C3P0、HikariCP或Druid等,它们预先创建并管理一组数据库连接,避免频繁的创建和关闭连接,提高性能。JDBC工具类可能集成了连接池的配置和管理,方便开发者使用。 5. **...

    深入浅出Hibernate4(个人整理)

    4. ConnectionProvider:生成JDBC连接的工厂(有连接池的作用)。它通过抽象将应用从底层的Datasource或DriverManager隔离开。仅供开发者扩展/实现用。 Hibernate可以帮助开发者消除或者包装那些针对特定厂商的SQL...

    个人整理的3年以上JAVA开发面试资料

    使用数据库连接池管理数据库连接,减少连接建立和释放的时间消耗。 具体来说: - **使用缓存**:对于一些不经常变化的数据,可以将其存储在缓存中,减少数据库访问次数,提高响应速度。 - **性能分析工具**:使用...

    【Oracle体系结构】-(个人研读整理).docx

    后台进程则是Oracle实例的另一个重要元素,它们负责监控数据库状态、管理I/O、处理用户连接和事务等任务。例如,DBWR进程负责将缓存中的数据写入数据文件,LGWR进程负责将重做日志缓冲区的内容写入重做日志文件,...

    Java学习笔记-个人整理的

    {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....

    基于SSM+vue的个人事务管理系统.zip

    SpringBoot自动配置了许多常见的第三方库,如数据库连接池、日志管理等,使得开发者可以快速创建可独立运行的、生产级别的Java应用。 【Vue.js】 Vue.js是前端的轻量级MVVM(Model-View-ViewModel)框架,以其简洁...

    JAVA核心知识点整理——java自学资料.rar

    13. **数据库连接与JDBC**:理解SQL语言,掌握Java与数据库的交互,包括连接池的使用和事务管理。 14. **网络编程**:Socket编程、HTTP协议的理解,以及如何使用Java进行网络通信。 15. **单元测试与持续集成**:...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    本网站以xp为Web平台,JSP+Ajax+Servlet+JavaBean+Hibernate为网站实现技术,建立基于MySQL数据库系统的核心动态网页,实现博客网站前台及博客个人维护管理等功能模块。 1、 系统处理的准确性和及时性:系统处理的...

    asp+ACCESS网上选课系统(源代码+论文).zip

    为了提高系统的响应速度和并发处理能力,可以考虑使用数据库连接池,减少每次建立新连接的开销。同时,合理设计索引和优化SQL查询也对性能有很大影响。 8. 系统扩展性: 随着用户数量的增长,ACCESS可能不足以...

    一堆ASP.NET小代碼

    在你提供的资源中,“一堆ASP.NET小代码”是个人整理的一些ASP.NET编程片段,涵盖了日期格式验证、MD5加密、UpdatePanel内JavaScript提示的处理以及数据库连接等常见主题。下面将对这些知识点进行详细解释。 1. **...

Global site tag (gtag.js) - Google Analytics