Clob和Blob

Clob:
.
在这里插入图片描述
/

package Ajdbc1;

import jdk.jfr.events.FileReadEvent;

import java.io.FileReader;
import java.io.Reader;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class Test5 {
    public static void main(String[] args) {
        //添加
        //addClob();
        //查询(读取)
        queryClob();
    }
    //添加
    public static void addClob(){
        Connection conn=null;
        PreparedStatement stm=null;
        try {
            conn=DBUtil.getConn();
            String sql="insert tclob(title,context) values(?,?)";
            stm=conn.prepareStatement(sql);
            stm.setString(1,"这是标题");
            Reader r=new FileReader("H://aa.txt");//io
           stm.setCharacterStream(2,r);
           int rs=stm.executeUpdate();
            System.out.println(rs);

        }catch (Exception e){
            e.printStackTrace();
        }finally {
            DBUtil.close(null,stm,conn);
        }
    }

    //查询
    public static void queryClob(){
        Connection conn=null;
        ResultSet rs=null;
        PreparedStatement stm=null;
        try {
            conn=DBUtil.getConn();
            String sql="select * from tclob where id=?";
            stm=conn.prepareStatement(sql);
            stm.setInt(1,1);
            rs=stm.executeQuery();
            if (rs.next()){
                System.out.println(rs.getString("title"));
                Reader r = rs.getCharacterStream("context");
                char[] ch=new char[1024];
                int len=0;
                while ((len=r.read(ch))!=-1){
                    System.out.println(new String(ch,0,len));
                }
                r.close();
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            DBUtil.close(rs,stm,conn);
        }
    }
}

/
/
/
blob:
/

package Ajdbc1;

import java.io.*;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class Test6 {
        public static void main(String[] args) {
            //添加
            addBlob();
            //查询(读取)
            //queryClob();
        }
        //添加
        public static void addBlob(){
            Connection conn=null;
            PreparedStatement stm=null;
            try {
                conn=DBUtil.getConn();
                String sql="insert tclob(title,context) values(?,?)";
                stm=conn.prepareStatement(sql);
                stm.setString(1,"这是标题");
                InputStream in = new FileInputStream("H://aa.jpg");
                stm.setBinaryStream(2,in);
                int rs=stm.executeUpdate();
                System.out.println(rs);

            }catch (Exception e){
                e.printStackTrace();
            }finally {
                DBUtil.close(null,stm,conn);
            }
        }

        //查询
        public static void queryBlob(){
            Connection conn=null;
            ResultSet rs=null;
            PreparedStatement stm=null;
            try {
                conn=DBUtil.getConn();
                String sql="select * from tclob where id=?";
                stm=conn.prepareStatement(sql);
                stm.setInt(1,1);
                rs=stm.executeQuery();
                if (rs.next()){
                    System.out.println(rs.getString("title"));
                    InputStream in=rs.getBinaryStream("context");
                    OutputStream out=new FileOutputStream("H://aa.jpg");
                    byte[] buff=new byte[1024];
                    int len=0;
                    while ((len=in.read(buff))!=-1){
                        out.write(buff,0,len);
                    }
                    in.close();
                    out.close();
                }
            }catch (Exception e){
                e.printStackTrace();
            }finally {
                DBUtil.close(rs,stm,conn);
            }
        }
    }


/
在这里插入图片描述
/
在这里插入图片描述
/
/
/
/一般用varchar:

在这里插入图片描述
.
在这里插入图片描述
.
c://temp/img/用户1头像.jpg是存放的位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值