mysql中的批量处理,数据池和结果集

28 篇文章 0 订阅
24 篇文章 0 订阅

一.批量处理

众所周知,在java中涉及网络连接一般都是比较慢的,因为网速的问题吧,我觉得是信息传输的问题,java的设计者很聪明,就有了这个想法,为什么不先处理好,要语句,在进行网络连接呢 ?所以设计了批量处理这个api,以下为具体使用

for (int i = 0;i<5000;i++) {
//                preparedStatement = connection.prepareStatement(sql);
                preparedStatement.setInt(1, i+1000);
                preparedStatement.setString(2, "ava");
                preparedStatement.addBatch();

//            long end = System.currentTimeMillis();
//            JDBCutils.close(preparedStatement,connection,null);
        }
            preparedStatement.executeUpdate();
            preparedStatement.clearParameters();

主要是add方法。

数据池

上面我们说了,网络传输是比较慢的,上面是sql语句,但数据库连接也是相对较慢的。比我聪明的java前辈们便想出为什么不设计个池子,池子里面装着连接,谁想用就给谁,不用时就断开。这样就不会耗费大量的时间来连接了,如果不用这种方法,极有可能会/remake,而且速度也会极慢。

其实数据池的原理我也不懂,但是市面上已经第三方来提供,大家会用就好了。

德鲁伊Druid

              这个是由阿里开发的池子,快且稳定,连接多次是会和别的池子拉开明显差距。就是引用api没啥好说,大伙会配文件,知道api和配置文件会配就好了。

结果集的不便之处

        我先说明一个情况,结果集是不能独活的,connnection(我死了,你也别想活着),但是我们一定要用这个结果集,那该怎么办捏?而且我希望像getname这样一眼真,而不是序号一,2这样的那吧,不方便。所以我们就会写一个类来包括所有的变量(一定要记得写无参构造器,反射时会用到),然后再从设置好对应关系。总之就是这个过程。自己研究api去好好看看方法和文档。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值