JDBC优化后方法

原创 2018年04月17日 15:18:54
package erchou;

import java.sql.Connection;
import java.sql.ParameterMetaData;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.beanutils.BeanUtils;


public class DataBase {

    
    
     private Connection connection;
     private PreparedStatement statement;
     private ResultSet result;
     public void update(String sql, Object[] values){
         try {
            connection = JdbcUtil.getConnection();
            
            statement = connection.prepareStatement(sql);
            
            int count = statement.getParameterMetaData().getParameterCount();
            if(values!=null && values.length!=0){
            for(int i=0;i<count;i++){
                statement.setObject(i+1,  values[i]);
              }
            }
            
            statement.executeUpdate();
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            JdbcUtil.close(connection, statement);
        }
     }
     public <T> List<T> query(String sql, Object[] values, Class<T> clazz){
         List<T> list = new ArrayList<T>();
         try {
            
             //1.获取连接
             connection = JdbcUtil.getConnection();
             //2.创建PreparedStatement对象
             statement = connection.prepareStatement(sql);
             //3.获取参数个数的值
             int count = statement.getParameterMetaData().getParameterCount();
             if(values!=null && values.length>0){
                 for(int i=0;i<count;i++){
                statement.setObject(i+1, values[i]);
                 }
             }
             //4.执行查询操作
              result = statement.executeQuery();
             //5.获取结果集元数据
             ResultSetMetaData data = result.getMetaData();
            
             int columnCount = data.getColumnCount();
             //6.遍历
             while(result.next()){
                 //创建要封装的对象
                    T t = clazz.newInstance();
                 for(int i=0;i<columnCount;i++){
                     //7.获取每一列的名称;
                     String columnName= data.getColumnName(i+1);
                     //8.获取每一列名称的值
                     Object value = result.getObject(columnName);
                    
                     BeanUtils.copyProperty(t, columnName, value);
                 }
                 list.add(t);
        }
             return list;
         }catch (Exception e) {
            e.printStackTrace();
        }finally{
            JdbcUtil.close(connection, statement, result);
        }
        return list;
     }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/erchouchou/article/details/79975353

JDBC性能优化方案

近期用到了利用JDBC查询Oracle数据库,但是查询效率不尽人意,研究了一下JDBC方面可以优化的地方,在这里跟大家分享一下。 1.设置最优的预取值 defaultRowPref...
  • suifeng3051
  • suifeng3051
  • 2014-07-17 09:36:13
  • 4907

jdbc插入大量数据时优化处理(转)

这个就是做个练习.想看下JDBC的最大优化度.我的要求就是插入到数据库里大量的数据 比如10W 或者 100W 而且要求内存稳定.首先说下我的代码:我的数据库MySQL  CREATE TABLE `...
  • xiashan17
  • xiashan17
  • 2010-12-02 11:21:00
  • 5354

14-数据库连接池和jdbc优化

一、数据库连接池 1. 什么是连接池 传统的开发模式下,Servlet处理用户的请求,找Dao查询数据,dao会创建与数据库之间的连接,完成数据查询后会关闭数据库的链接。 这样的方式会导致用户每...
  • toto1297488504
  • toto1297488504
  • 2012-08-02 00:34:00
  • 2676

jdbc连接池配置(优化连接速度)

  • 2014年06月16日 08:58
  • 151KB
  • 下载

Jdbc查询数据库处理结果集优化查询代码

通过jdbc我们可以访问数据库实现对数据库的增删改查的操作,利用java的封装特写我们会发现 增加、修改、与删除可以用一个方法去实现它们的不同之处在于sql语句不同另外接收的参数也不同,这些通过传入的...
  • a15804633046
  • a15804633046
  • 2016-07-24 19:25:43
  • 376

JDBC性能优化

jdbc程序的性能主要由两个因素决定,一是数据库本身的性质,另一个是与数据库相对独立的jdbc应用程序接口(api)的使用.这里说的是如何正确使用jdbc编程接口,以获得更好的性能. jdbc主要优化...
  • brucelee0224
  • brucelee0224
  • 2008-03-14 09:42:00
  • 1312

【Java/JDBC.ORM】 jdbc插入大量数据时优化处理

转自:http://blog.csdn.net/xiashan17/article/details/6049587 这个就是做个练习.想看下JDBC的最大优化度. 我的要求就是插入...
  • robinjwong
  • robinjwong
  • 2015-04-19 18:06:14
  • 4082

关于JDBC的close问题

     因为过去一直在Hibernate上开发程序,对于JDBC的直接应用相对较少。最近在编写一个从1000万的表中提取数据为全文检索做索引的程序时出现了内存益处(OutOfMemoryError)...
  • bluishglc
  • bluishglc
  • 2010-08-08 14:34:00
  • 6840

spark jdbc 读取并发优化

  • 2018年02月14日 21:30
  • 251KB
  • 下载

Java Jdbc减少交互提升批量处理性能,到底该如何优化才好?

不拾掇Java有好几年了(N>3吧),之所以写这篇文章其实是纯粹是为了给开发人员一些好的使用jdbc真正去减少交互和提升批量处理batch update性能的例子;  如果你是DBA,那么工作之余你可...
  • singgel
  • singgel
  • 2016-11-19 14:04:34
  • 851
收藏助手
不良信息举报
您举报文章:JDBC优化后方法
举报原因:
原因补充:

(最多只允许输入30个字)