標籤:
大資料對象處理主要有CLOB(character large object) 和BLOB(binary large object) 兩種類型的欄位。
在CLOB中可以儲存大字元對象,比如長篇小說;在BLOB中可以存放二進位大資料對象,片、電影、音樂。
1、處理CLOB資料
public class JDBCDemo9 { private static MysqlUtil dbUtil = new MysqlUtil(); private static int addEmp(Emp emp) throws Exception{ Connection conn = dbUtil.getConnection(); String sql = "insert into emp2 values(null,?,?,?,?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, emp.getName()); pstmt.setDouble(2, emp.getSalary()); pstmt.setInt(3, emp.getAge()); File context = emp.getContext();//擷取檔案 InputStream inputStream = new FileInputStream(context); pstmt.setAsciiStream(4, inputStream,context.length()); int result = pstmt.executeUpdate(); dbUtil.close(pstmt, conn); return result; } public static void getEmp(int id) throws Exception{ Connection conn = dbUtil.getConnection(); String sql = "select * from emp2 where id=?"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setInt(1, id); ResultSet rs = pstmt.executeQuery(); if(rs.next()){ String name= rs.getString("name"); double salary =rs.getDouble("salary"); int age = rs.getInt("age"); Clob c = rs.getClob("context"); String context = c.getSubString(1, (int)c.length()); System.out.println("emp姓名:"+name+",salary:"+salary+",age"+age+",context"+context); } dbUtil.close(pstmt, conn); } public static void main(String[] args) throws Exception{ /*File context = new File("d:/helloworld.txt"); Emp emp = new Emp("helloworld",100,100,context); int result = addEmp(emp); if(result==1){ System.out.println("添加成功"); }else{ System.out.println("添加失敗"); }*/ getEmp(11); }}
2、處理BLOG資料
JDBC(5)-處理大資料