JAVA 数据库编程(2)

 

 预备语句

PrepareStatement(String sql)

返回一个含预编译语句的PrepareStatement对象,字符串SQL代表了一个SQL语句,该语句可以包含一个或多个由?字符指明的参数占位符。

Java.sql.PrepareStatement包含方法

  void setXxx(int n,Xxx x) //设置第n个参数值为x

  void clearParameter()//清除预备语句在的所有当前参数

  ResultSet executeQuery()//执行预备SQL查询,并返回一个ResultSet对象

  int executeUpdate()//返回影响行数。

读写LOB

 除了数据、字符串和日期之外,许多数据库都可以存储大对象,如图片或其他数据。在SQL中,二进制大对象称为BLOB,字符型大对象称为CLOB。

要从Blob中获取二进制数据,可以调用getByte或getInputStream.

Clob中获取字符数据,可以通过调用getSubString 或getCharacterStream

 

    //读取
    PreparedStatement stat=conn.prepareStatement("select Cover from BookCovers where ISBN=?");
    stat.set(1,isbn);
    ResultSet result=stat.executeQuery();
    while(result.next())
    {
        Blob coverBlob=result.getBlob(1);
        Image coverImage=ImageIO.read(coverBlob.getBinaryStream());
    }
    
    //写入
    Blob coverBlob=connection.createBlob();
    int offset=0;
    OutputStream out=coverBlob.setBinaryStream(offset);
    ImageIO.write(coverImage,"PNG",out);
    PreparedStatement stat=conn.preparedStatement("insert into Cover value (?,?)");
    stat.set(1,isbn);
    stat.set(2,coverBlob);
    stat.executeUpdate();

 

 

 

转载于:https://www.cnblogs.com/zhuangjb/archive/2013/06/06/3123045.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值