`
wubg
  • 浏览: 5011 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

继承jdbcDaoSupport的jdbc查询速度问题,高手帮助

阅读更多

数据库:oracle9i

应用服务器:tomcat6
查询调用 jdbcTemplate().queryForList(

StringBuffer sb = new StringBuffer();
  sb.append(" SELECT PLU_CODE,PLU_VALUE,MEASURE_TIME,EQP_ID FROM  E_DATA_VALUE ");
  sb.append(" WHERE  EQP_ID=? AND MEASURE_TIME BETWEEN ? AND ? ");*/
  
  System.out.println(System.currentTimeMillis());
  List rsop = getJdbcTemplate().queryForList(sb.toString(),param);
  System.out.println(System.currentTimeMillis());
速度非常慢,表中已经分区,数据大有5000万条,查询要30秒左右
DataSource ds = this.getDataSource();  
        Connection con = null;
        PreparedStatement pstmt = null;
        ResultSet rs =null;
        try {
            con = ds.getConnection();            
           {            
               pstmt = con.prepareStatement("SELECT PLU_CODE,PLU_VALUE,MEASURE_TIME,EQP_ID FROM  E_DATA_VALUE   WHERE  EQP_ID=? AND MEASURE_TIME BETWEEN to_date(?,'yyyy-mm-dd hh24:mi:ss')  AND to_date(?,'yyyy-mm-dd hh24:mi:ss') ");
               pstmt.setInt(1, eqpId);
               pstmt.setString(2,qd.getBeginTime());
               pstmt.setString(3, qd.getEndTime());
               rs = pstmt.executeQuery();              
            }
        }
        catch( Exception sqle ) {
          ds = null;
            con = null;
            pstmt = null;
       }finally{
          ds = null;
            con = null;
            pstmt = null;
       }这种方式,查询只要<1秒, 可是无法释放连接池,大概一天时间后,就会连接池耗尽
不知道有没有好的办法实现解决getJdbcTemplate().queryForList(sb.toString(),param);查询慢的问题,困扰!

 

分享到:
评论
4 楼 zhangchengtian66 2009-03-25  
connection,要close
3 楼 srdrm 2008-08-27  
太基础, 漂过了. 同意楼上的.
2 楼 linhong_1001 2008-08-27  
你自己那种方式自然没有释放资源啊,因为你就是
ds = null;  
con = null;  
pstmt = null; 的,还是应该调用它们的close方法啊,
既然是新人,还是从基础的学起比较好
1 楼 wubg 2008-08-27  
为什么都没回复,就新手贴,,考,,

相关推荐

    JdbcDaoSupport类的使用

    在Spring框架中,`JdbcDaoSupport`是一个非常重要的辅助类,它为使用JDBC(Java Database Connectivity)的DAO(Data Access Object)层提供了一种基础支持。这个类是Spring JDBC模块的一部分,它使得开发者可以方便...

    spring的JdbcDaoSupport的一些用法示例

    在Java的Spring框架中,`JdbcDaoSupport`是一个非常重要的工具类,它为基于JDBC的数据访问对象(DAO)提供了一种简化数据库操作的方法。这个类是`org.springframework.jdbc.core.support`包下的一个抽象基类,它为...

    Jdbcsupport培训 详细讲解jdbcsupport

    3. 实现DAO服务类,继承JdbcDaoSupport。在服务类中,可以调用getJdbcTemplate().update()方法进行数据的增删改查操作,如上面的save()和delete()方法所示。 在实际开发中,我们还需要配置Spring的bean定义文件,...

    _Spring_使用 JdbcTemplate和JdbcDaoSupport.rar

    在Spring框架中,`JdbcTemplate`和`JdbcDaoSupport`是两个重要的组件,它们用于简化Java数据库连接(JDBC)的操作,提高了代码的可读性和可维护性。本篇文章将详细阐述这两个类的核心概念、使用场景以及如何在实际...

    Spring对Hibernate及JDBC提供的支持

    本文将深入探讨Spring如何为Hibernate和JDBC提供支持,帮助开发者更高效地进行数据访问操作。 首先,Spring对Hibernate的支持体现在其集成层面。通过Spring,我们可以将Hibernate的SessionFactory和Session对象的...

    spring.jdbc-3.0.5.jar

    这两个接口是Spring JDBC用于将数据库查询结果映射到Java对象的工具。RowMapper适用于单行数据的映射,而ResultSetExtractor则可以处理整个结果集,提供更大的灵活性。 6. **Transaction Management** Spring ...

    基于SpringJDBC的BaseDAO

    在Spring JDBC中,可以通过继承`JdbcDaoSupport`类来简化代码编写过程。下面将详细分析BaseDAO类的实现原理及其核心方法。 #### 核心方法解析 1. **查询方法(query)** - **方法定义**:`public List, Object&gt;&gt; ...

    Spring JdbcDaoSupport 批量插入数据

    首先,`JdbcDaoSupport`是`AbstractJdbcDaoSupport`的子类,它提供了对JDBC访问的便捷封装,允许开发者无需直接管理`DataSource`,而是通过`setJdbcTemplate(JdbcTemplate jdbcTemplate)`方法注入`JdbcTemplate`实例...

    SpringMvc, JDBC Template的例子

    2. 然后,创建一个DAO(Data Access Object)层,继承自JdbcDaoSupport类,Spring会自动注入JdbcTemplate实例。 3. 在DAO中,你可以定义方法,如`selectUsers()`、`insertUser()`等,这些方法内部调用JdbcTemplate的...

    spring jdbc

    Spring JDBC是Spring框架的一个重要组成部分,它提供了一种更高级别的JDBC抽象,简化了数据库操作。在Spring JDBC中,`JdbcTemplate`是一个核心组件,它通过消除大量的样板代码,如打开和关闭连接、处理结果集等,...

    HibernateDaoSupport与JdbcDaoSupport

    而**JdbcDaoSupport**则主要针对原生JDBC操作进行了封装,使得开发者能够更方便地执行SQL语句。 #### 二、Spring框架中实现数据库连接方式 ##### 1. 借助HibernateDaoSupport实现 - **简介**:当项目中已经使用了...

    pring对JDBC和orm的支持共10页.pdf.zip

    8. **DAO(数据访问对象)支持**:Spring提供了一套通用的DAO接口和抽象类,如JdbcDaoSupport和HibernateDaoSupport,帮助开发者创建符合约定的DAO层,便于测试和扩展。 综上所述,Spring对JDBC和ORM的支持极大地...

    Spring JDBC的使用方法详解

    也可以继承JdbcDaoSupport,使用super.getJdbcTemplate()获得jdbcTemplate对象: ```java public class UserDaoImpl extends JdbcDaoSupport implements IUserDao { @Override public void save(User user) { ...

    Spring jdbc中数据库操作对象化模型的实例详解

    这个模型允许开发者以面向对象的方式处理SQL查询,而不是直接处理JDBC API,从而提高了代码的可读性和可维护性。核心概念包括几个关键接口和类,如RdbmsOperation、SqlQuery、SqlUpdate、SqlCall以及DataSource。 1...

    Spring3.0MVC注解+SringJdbcDaoSupport案例

    3. 高级查询功能:`JdbcTemplate`提供了各种方法来执行SQL查询,如`queryForList()`, `queryForObject()`, `update()`, `execute()`等。 **Spring AOP(面向切面编程)和声明式事务管理:** 1. **Spring AOP**:AOP...

    spring_JdbcTemplete使用详解

    应用程序的数据访问层(DAO)只需要继承 `JdbcDaoSupport` 或者直接注入 `JdbcTemplate` 就可以获得对数据库的操作能力。值得注意的是,`JdbcTemplate` 是一个线程安全的类,因此多个 DAO 层可以共享同一个 `...

    Spring MVC+SimpleJdbcDaoSupport增删改查小例子

    args)`用于查询单个对象,`query(String sql, RowMapper&lt;T&gt; rowMapper, PreparedStatementSetter pss)`用于更复杂的查询等。 **三、数据库操作步骤** 1. **配置数据源**:在Spring配置文件中配置DataSource Bean,...

    spring 整合JDBC和AOP事务的方法

    "Spring 整合 JDBC 和 AOP 事务的方法" Spring 框架为我们提供了一个强大的整合了 JDBC 和 AOP 事务的方法,今天我们就来了解一下这个方法的实现。 首先,我们需要了解什么是 JDBC 和 AOP。JDBC 全称为 Java ...

    4.Spring中的JdbcTemplate,Spring中的的事务,

    通过封装原生的JDBC API,JdbcTemplate不仅提高了代码的可读性和可维护性,还帮助开发者避免了许多常见的错误,比如资源关闭、SQL注入等问题。 Spring框架提供了多种模板类来处理不同的数据访问需求,例如...

Global site tag (gtag.js) - Google Analytics