1, ResultSet作为JDBC中查询函数的返回数据的容器,通常采用next()移动ResultSet中的指针位置,这种只能够顺序的读取该容器中的内容。在指定命令时可以设置ResultSet可滚动,比如conn.prepareStatement(sql,Result.TYPE_SCROLL_SENSITIVE),使得结果集可以滚动,这样便可以随意移动指针位置,使得数据滚动起来。
2,在与数据库写入读取大数据CLOB或者BLOB时,可以直接设置IO流,如下
插入数据库
String sql=”insert into userclob(name ,note) values(?,?)”;
ptst=conn.prepareStatement(sql);
ptst.setString(1,”sdfsa”);
ptst.setAsciiStream(1,input,(int)f.length);//input为输入的字符流,f为file文件,如果为二进制流
此处为ptst.setBinaryStream(2,input,(int)f.length)
ptst.executeUpdate();
读取数据
String sql=”select * frome userclob”;
ptst=conn.prepareStatement(sql);
Result res= ptst.executeQuery();
Clob c=res.getClob(2);//直接将数据用Clob容器接受,
Blob b=res.getBlob(2);//直接将数据用Blob容器接受
3,使用ResultSet更新数据,插入数据,删除数据
插入数据
ptst=conn.preparedStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE
,ResultSet.CONCUR_UPDATABLE);
res=ptst.executeQuery();
res.moveToInsertRow();//移动到可以插入数据的指针位置
rs.update(“name”,”lihua”);
res.insertRow();//插入数据
res.close();
其他操作,如更新,删除数据的操作类似,不变的是都得通过prepareStatement执行命令,并且都需要时刻滚动的数据集,并将指针移动到要操作的地方,在进行操作。
JDBC进阶功能
最新推荐文章于 2022-07-19 22:18:44 发布
434

被折叠的 条评论
为什么被折叠?



