关于JDBC的一些补充

JDBC还为我们提供了一些元数据,那么元数据是什么呢?
元数据:用来描述数据的含义的一些信息。

主要有:
1.DatabaseMetaData 表述数据库连接的元数据。
//获得 Connection con;

  eg: DatabaseMetaData  d=con.getMetaData(); 

2.ResultSetMetaData 表示结果集的元数据。

     rs=(Statement) st.executeQuery(sql);  //获得ResultSet
     ResultSetMetaData  r=rs.getMetaData();  //获得结果集列

结果集的一些函数:
1.getColumName(i); //获得列名
2.getColumLaber(i); //获得列别名
3.getColumType(i); //列所对应的数据类型所对应的数字
4.getColumTypeName(i); //列所对应的数据类型
5.getColumCount(); //获得结果集的列数

JDBC中的大数据 Blob
用来将大的数据写入数据库,例如图片等。
思路:以流的方式进行读写。
主要代码:

//1.使用Connection.createBlob()创建一个blob对象。
    Blob blob=con.createBlob();
//2.获得这个Blob对象的输出流。
   OutputStream os=blob.setBinaryStream();//设置成二进制
 //3.向流中写入字节
  FileInputSteam fis=new FileInputStream("D:java/a.txt");
     byte[]  b=new byte[10];   //设计缓冲器
     int size=-1;
     while((size=(fis.read(b))!=-1){
        os.write(bs,0,size);
   }
   fis.close();
   os.close();
 //4.通过setBlob()函数将二进制写入数据库中
  ps.setBlob(1,blob); // ps为PreparedStatement类型

数据库主键的获得
思路:通过一个重载的PreparedStatement(sql,int)方法来设置是否返回由数据库生成的主键,通过调用getGeneratedKeys()来获得包含主键的结果。

eg:
   ResultSet keys=ps.getGeneratedKeys();
        keys.next();
      int key=keys.getInt(key);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值