一、大数据对象
大数据对象处理主要有 CLOB(characterlarge object)和 BLOB(binary large object)两种类型的字段;
在 CLOB 中可以存储大字符数据对象,比如长篇小说;
在 BLOB 中可以存放二进制大数据对象,比如图片,电影,音乐;
1、插入CLOB、BLOG对象
/** * 添加图书 * * @param book * @return * @throws Exception */ private static int addBook2(Book book) throws Exception { Connection con = dbUtil.getCon();// 获取连接 String sql = "insert into t_book values(null,?,?,?,?,?,?)"; PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setString(1, book.getBookName());// 给第一个坑设置值 pstmt.setString(2, book.getAuthor());// 给第二个坑设置值 pstmt.setFloat(3, book.getPrice());// 给第三个坑设置值 pstmt.setInt(4, book.getBookTypeId());// 给第四个坑设置值 File context = book.getContext();// 获取文件 InputStream inputStream = new FileInputStream(context); pstmt.setAsciiStream(5, inputStream, context.length());// 给第五个坑设置值 File pic=book.getPic();//获取图片 InputStream inputStream2=new FileInputStream(pic); pstmt.setBinaryStream(6, inputStream2,pic.length());// 给第六个坑设置值 int result = pstmt.executeUpdate(); dbUtil.close(pstmt, con); return result; } public static void main(String[] args) throws Exception { //文本存放地址 File context=new File("F:/helloworld.txt"); //图片存放地址 File pic=new File("F:/bg02.jpg"); Book book=new Book("helloworld","阿力",100,1,context,pic); int result=addBook2(book); if (result==1) { System.out.println("添加成功!"); }else { System.out.println("添加失败!"); } }
2、输出CLOB、BLOG对象
/** * 获取对应结果集 * @param id * @throws Exception */ public static void getBook(int id)throws Exception{ Connection con=dbUtil.getCon(); String sql="select * from t_book where id=?"; PreparedStatement pstmt=con.prepareStatement(sql); pstmt.setInt(1, id); ResultSet rSet=pstmt.executeQuery(); if (rSet.next()) { String bookName=rSet.getString("bookName"); String author=rSet.getString("author"); float price=rSet.getFloat("price"); int bookTypeId=rSet.getInt("bookTypeId"); Clob c=rSet.getClob("context"); String context=c.getSubString(1, (int) c.length()); Blob b=rSet.getBlob("pic"); //输出图片存放地址 FileOutputStream out=new FileOutputStream(new File("F:/bg021.jpg")); out.write(b.getBytes(1,(int) b.length())); out.close(); System.out.println("图书名称:"+bookName+"图书作者:"+author+"图书价格:" +price+"图书类别:"+bookTypeId+"图书内容:"+context); } dbUtil.close(pstmt, con); } public static void main(String[] args) throws Exception { getBook(9); }