import java.io.BufferedInputStream
import java.io.BufferedOutputStream
import java.io.BufferedReader
import java.io.File
import java.io.FileOutputStream
import java.io.InputStream
import java.io.InputStreamReader
import java.io.OutputStream
import java.sql.Connection
import java.sql.PreparedStatement
import java.sql.ResultSet
import java.sql.Statement
import org.junit.Test
import cn.hncu.util.ConnFactory
public class BigDataDemo {
@Test //向数据库写文本数据
public void testWriteText() throws Exception{
Connection con = ConnFactory.getConnection()
String sql = "insert into bigdata(note) values(?)"
PreparedStatement pst = con.prepareStatement(sql)
InputStream in = BigDataDemo.class.getClassLoader().getResourceAsStream("JdbcDemo.abc")
pst.setAsciiStream(1, in)
pst.executeUpdate()
con.close()
}
@Test //从数据库读文本数据
public void testReadText() throws Exception{
Connection con = ConnFactory.getConnection()
String sql = "select * from bigdata where id= 1"
Statement st = con.createStatement()
ResultSet rs = st.executeQuery(sql)
while(rs.next()){
InputStream in = rs.getAsciiStream(2)
BufferedReader br = new BufferedReader(new InputStreamReader(in))
String line = ""
while((line=br.readLine())!=null){
System.out.println(line)
}
}
}
@Test //向数据库写图片
public void testWriteBlob() throws Exception{
Connection con = ConnFactory.getConnection()
String sql = "insert into bigdata(img) values(?)"
PreparedStatement pst = con.prepareStatement(sql)
InputStream in = BigDataDemo.class.getClassLoader().getResourceAsStream("0.jpg")
pst.setBinaryStream(1, in)
pst.executeUpdate()
con.close()
}
@Test //从数据库读图片
public void testReadBlob() throws Exception{
Connection con = ConnFactory.getConnection()
Statement st = con.createStatement()
String sql = "select img from bigdata where id = 5"
ResultSet rs = st.executeQuery(sql)
while(rs.next()){
BufferedInputStream bis = new BufferedInputStream(rs.getBinaryStream(1))
OutputStream out = new FileOutputStream(new File("D:/a/img.jpg"))
BufferedOutputStream bos = new BufferedOutputStream(out)
int len = 0
byte buf[] = new byte[512]
while((len = bis.read(buf))!=-1){
bos.write(buf, 0, len)
}
bis.close()
bos.close()
out.close()
}
con.close()
}
}