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();