传智播客jdbc2方立勋

传智播客jdbc2方立勋

ID:26727690

大小:379.17 KB

页数:23页

时间:2018-11-28

传智播客jdbc2方立勋_第1页
传智播客jdbc2方立勋_第2页
传智播客jdbc2方立勋_第3页
传智播客jdbc2方立勋_第4页
传智播客jdbc2方立勋_第5页
资源描述:

《传智播客jdbc2方立勋》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、JDBC开发讲师:方立勋北京传智播客教育www.itcast.cnTip:使用JDBC处理大数据在实际开发中,程序需要把大文本或二进制数据保存到数据库。基本概念:大数据也称之为LOB(LargeObjects),LOB又分为:clob和blobclob用于存储大文本。blob用于存储二进制数据,例如图像、声音、二进制文等。对MySQL而言只有blob,而没有clob,mysql存储大文本采用的是Text,Text和blob分别又分为:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXTTINYBLOB、BLOB、MEDIUMBLOB和L

2、ONGBLOB北京传智播客教育www.itcast.cnTip:使用JDBC处理大文本对于MySQL中的Text类型,可调用如下方法设置:PreparedStatement.setCharacterStream(index,reader,length);//注意length长度须设置,并且设置为int型对MySQL中的Text类型,可调用如下方法获取:reader=resultSet.getCharacterStream(i);reader=resultSet.getClob(i).getCharacterStream();strings=resul

3、tSet.getString(i);北京传智播客教育www.itcast.cnTip:使用JDBC处理二进制数据对于MySQL中的BLOB类型,可调用如下方法设置:PreparedStatement.setBinaryStream(i,inputStream,length);对MySQL中的BLOB类型,可调用如下方法获取:InputStreamin=resultSet.getBinaryStream(i);InputStreamin=resultSet.getBlob(i).getBinaryStream();北京传智播客教育www.itcast.

4、cnTip:Oracle中大数据处理Oracle定义了一个BLOB字段用于保存二进制数据,但这个字段并不能存放真正的二进制数据,只能向这个字段存一个指针,然后把数据放到指针所指向的Oracle的LOB段中,LOB段是在数据库内部表的一部分。因而在操作Oracle的Blob之前,必须获得指针(定位器)才能进行Blob数据的读取和写入。如何获得表中的Blob指针呢?可以先使用insert语句向表中插入一个空的blob(调用oracle的函数empty_blob()),这将创建一个blob的指针,然后再把这个empty的blob的指针查询出来,这样就可得到

5、BLOB对象,从而读写blob数据了。北京传智播客教育www.itcast.cnTip:Oracle中LOB类型的处理1、插入空blob insertintotest(id,image)values(?,empty_blob());2、获得blob的cursor selectimagefromtestwhereid=?forupdate; Blobb=rs.getBlob(“image”);注意:须加forupdate,锁定该行,直至该行被修改完毕,保证不产生并发冲突。3、利用io,和获取到的cursor往数据库读写数据注意:以上操作需开启事务。北京

6、传智播客教育www.itcast.cnTip:使用JDBC进行批处理业务场景:当需要向数据库发送一批SQL语句执行时,应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率。实现批处理有两种方式,第一种方式:Statement.addBatch(sql)执行批处理SQL语句executeBatch()方法:执行批处理命令clearBatch()方法:清除批处理命令北京传智播客教育www.itcast.cnTip:使用JDBC进行批处理Connectionconn=null;Statementst=null;ResultSetrs

7、=null;try{conn=JdbcUtil.getConnection();Stringsql1="insertintouser(name,password,email,birthday)values('kkk','123','abc@sina.com','1978-08-08')";Stringsql2="updateusersetpassword='123456'whereid=3";st=conn.createStatement();st.addBatch(sql1);//把SQL语句加入到批命令中st.addBatch(sql2);//把

8、SQL语句加入到批命令中st.executeBatch();}finally{JdbcUtil.free(c

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。