zoukankan      html  css  js  c++  java
  • 处理大数据对象

    一、大数据对象

    大数据对象处理主要有 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);
        }    
  • 相关阅读:
    uuid模块
    使用pip管理第三方包
    hashlib和hmac模块
    hashlib和hmac模块
    JAVA热部署,通过agent进行代码增量热替换!!!
    史上最全java pdf精品书籍整理
    JAVA RPC (十) nio服务端解析
    java代理,手把手交你写java代理
    JAVA RPC 生产级高可用RPC框架使用分享
    DB缓存一致性
  • 原文地址:https://www.cnblogs.com/xiaoyqng/p/8321041.html
Copyright © 2011-2022 走看看