Java jdbc中的date,大文本等类型转换

 1.

new java.sql.Date(java.util.Date.getTime());

java.sql.Date 是 java.util.Date的子类。。。

2. varchar 最多255个(mysql中)

3.大文本(字符流)中用 clob 类型 TEXT, BIGTEXT,TINYTEXT(mysql中)

PreparedStatement preparedStatement = conn.prepareStatement(sql);
Reader reader = new BufferedReader(new FileReader("src/jindex.java"));
preparedStatement.setCharacterStream(1, reader, 10);//1代表第一个问号,和ResultSet中是一样的,不是从0开始。
//也可以现将文件放到一个String中(因为java中的String没有长度限制,然后preparedStatement.setString(1, String);字符流的情况下;clob都是字符流

  

Clob clob = rs.getClob("clob");
Writer writer = new BufferedWriter(new FileWriter("jindex_bak.java"));
Reader reador = clob.getCharacterStream();//rs.getCharacterStream()直接
char[] buff = new char[1024];
int bufferReadLength = 0;
while((bufferReadLength = reador.read(buff)) != -1){
  writer.write(buff, 0, bufferReadLength);
}
reador.close();
writer.close();//也可以先将数据读取到String中,然后通过String Write到文件中。字符流的情况。clob都是字符流

4. 大字节流中用 blob 类型  (MySql中是<64K的)

PreparedStatement preparedStatement = conn.prepareStatement(sql);
InputSteam inputStream = new BufferedInputSteam(new FileInputSteam("2323.gif")); 
preparedStatement.setBinaryStream(1, inputStream, 10);//1代表第一个问号,和ResultSet中是一样的,不是从0开始。 )

  

Blob blob = rs.getBlob("blob");
OutputStream out = new BufferedOutputStream(new FileOutputStream("jindex_bak.java"));
InputStream in = blob.getBinaryStream();//rs.getBinaryStream()直接
byte[] buff = new byte[1024];//注意这里必须是字节数组了。
int bufferReadLength = 0;
while((bufferReadLength = in.read(buff)) != -1){
  out.write(buff, 0, bufferReadLength);
}
in.close();
out.close();

  

posted on 2013-02-18 13:54  要强小伙  阅读(323)  评论(0编辑  收藏  举报