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);
        }    
  • 相关阅读:
    怎样跟老板提加薪,来看看自己值多少钱
    leetcode-204-Count Primes
    Atitit. 异常的使用总结最佳实践java .net php Vo8f
    设计模式——第一课
    linux svn命令具体解释
    BTrace介绍和生产环境样例
    5.3.5 namedtuple() 创建命名字段的元组结构
    linux驱动开发之九鼎板载蜂鸣器驱动测试【转】
    hrtimer高精度定时器的简单使用【学习笔记】
    Linux时间子系统之(一):时间的基本概念【转】
  • 原文地址:https://www.cnblogs.com/xiaoyqng/p/8321041.html
Copyright © 2011-2022 走看看