clob 对应四种类型 ,TINYTEXT , TEXT , MEDIUMTEXT , LONGTEXT
2的8次方 2的16次方 2的24次方 2的32次方
blob 对应四种类型 . TINYBLOB , BLOB , MEDIUMBLOB , LONGBLOB
clob
create table testclob(id integer primary key auto_increment , content text);
blob
create tabke testblob(id integer primary key auto_increment , image blog);
package com.zly.test;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Test {
public static void main2(String[] args) {
Connection connection = null;
PreparedStatement psmt = null;
BufferedInputStream bis = null;
try {
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc" , "root" , "root");
String sql = "insert into testjdbc(pic) values(?)";
psmt = connection.prepareStatement(sql);
File file = new File("src/tab.png");
bis = new BufferedInputStream(new FileInputStream(file));
psmt.setBinaryStream(1, bis, new Long(file.length()).intValue());
int executeUpdate = psmt.executeUpdate();
System.out.println(executeUpdate);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if(bis != null) {
try {
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(psmt != null) {
try {
psmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
public static void main1(String[] args) {
Connection connection = null;
PreparedStatement psmt = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc" , "root" , "root");
String sql = "select content from testjdbc where id = ?";
psmt = connection.prepareStatement(sql);
psmt.setInt(1, 1);
rs = psmt.executeQuery();
if(rs.next()) {
String string = rs.getString("content");
System.out.println(new String(string.getBytes() , "UTF-8"));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} finally {
if(psmt != null) {
try {
psmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
InputStream binaryStream = null;
OutputStream out = null;
Connection connection = null;
PreparedStatement prepareStatement = null;
ResultSet executeQuery = null;
try {
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc", "root", "root");
String sql = "select pic from testjdbc where id = ?";
prepareStatement = connection.prepareStatement(sql);
prepareStatement.setInt(1, 1);
executeQuery = prepareStatement.executeQuery();
if(executeQuery.next()) {
binaryStream = executeQuery.getBinaryStream("pic");
out = new FileOutputStream("src/tab_bak.png");
byte[] bytes = new byte[1024];
int read = 0;
while((read = binaryStream.read(bytes)) != -1) {
out.write(bytes , 0 , read);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if(binaryStream != null) {
try {
binaryStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(out != null) {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(executeQuery != null) {
try {
executeQuery.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(prepareStatement != null) {
try {
prepareStatement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}