一.批量处理
众所周知,在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去好好看看方法和文档。
|