首页 > 代码库 > JDBC(5)-处理大数据

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数据

JDBC(5)-处理大数据