JDBC(5)-处理大数据

大数据对象处理主要有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数据

posted @ 2015-01-05 16:35  小羊的技术家  阅读(136)  评论(0编辑  收藏  举报