zoukankan      html  css  js  c++  java
  • 测试大数据类型

    -- 测试大数据类型

    CREATE TABLE test(

         id INT PRIMARY KEY AUTO_INCREMENT,

         content LONGTEXT,

         img LONGBLOB

    );

    Text:

    public class App_text {

    // 全局参数

    private Connection con;

    private Statement stmt;

    private PreparedStatement pstmt;

    private ResultSet rs;

    @Test

    // 1. 保存大文本数据类型   ( longtext)

    public void testSaveText() {

    String sql = "insert into test(content) values(?)";

    try {

    // 连接

    con = JdbcUtil.getConnection();

    // pstmt 对象

    pstmt = con.prepareStatement(sql);

    // 设置参数

    // 先获取文件路径

    String path = App_text.class.getResource("tips.txt").getPath();

    FileReader reader = new FileReader(new File(path));

    pstmt.setCharacterStream(1, reader);

    // 执行sql

    pstmt.executeUpdate();

    // 关闭

    reader.close();

    } catch (Exception e) {

    e.printStackTrace();

    } finally {

    JdbcUtil.closeAll(con, pstmt, null);

    }

    }

    @Test

    // 2. 读取大文本数据类型   ( longtext)

    public void testGetAsText() {

    String sql = "select * from  test;";

    try {

    // 连接

    con = JdbcUtil.getConnection();

    // pstmt 对象

    pstmt = con.prepareStatement(sql);

    // 读取

    rs = pstmt.executeQuery();

    if (rs.next()) {

    // 获取长文本数据, 方式1:

    //Reader r = rs.getCharacterStream("content");

    // 获取长文本数据, 方式2:

    System.out.print(rs.getString("content"));

    }

    } catch (Exception e) {

    e.printStackTrace();

    } finally {

    JdbcUtil.closeAll(con, pstmt, null);

    }

    }

    }

    blob

    public class App_blob {

    // 全局参数

    private Connection con;

    private Statement stmt;

    private PreparedStatement pstmt;

    private ResultSet rs;

    @Test

    // 1. 二进制数据类型   ( longblob)

    public void testSaveText() {

    String sql = "insert into test(img) values(?)";

    try {

    // 连接

    con = JdbcUtil.getConnection();

    // pstmt 对象

    pstmt = con.prepareStatement(sql);

    // 获取图片流

    InputStream in = App_text.class.getResourceAsStream("7.jpg");

    pstmt.setBinaryStream(1, in);

    // 执行保存图片

    pstmt.execute();

    // 关闭

    in.close();

    } catch (Exception e) {

    e.printStackTrace();

    } finally {

    JdbcUtil.closeAll(con, pstmt, null);

    }

    }

    @Test

    // 2. 读取大文本数据类型   ( longblob)

    public void testGetAsText() {

    String sql = "select img from  test where id=2;";

    try {

    // 连接

    con = JdbcUtil.getConnection();

    // pstmt 对象

    pstmt = con.prepareStatement(sql);

    // 读取

    rs = pstmt.executeQuery();

    if (rs.next()) {

    // 获取图片流

    InputStream in = rs.getBinaryStream("img");

    // 图片输出流

    FileOutputStream out = new FileOutputStream(new File("c://1.jpg"));

    int len = -1;

    byte b[] = new byte[1024];

    while ((len = in.read(b)) != -1) {

    out.write(b, 0, len);

    }

    // 关闭

    out.close();

    in.close();

    }

    } catch (Exception e) {

    e.printStackTrace();

    } finally {

    JdbcUtil.closeAll(con, pstmt, null);

    }

    }

    }

  • 相关阅读:
    1061. 判断题(15)
    1070. 结绳(25)
    1069. 微博转发抽奖(20)
    1068. 万绿丛中一点红(20)
    1067. 试密码(20)
    DB2sql关键字——ALTER TABLE ....ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE
    DB2系统内置——SYSCAT.TABLES 所有的字段说明
    DB2系统内置——db2日期和时间常用汇总
    Linux——下查找某个文件位置的方法
    Linux下清除tomcat缓存
  • 原文地址:https://www.cnblogs.com/hello-liyb/p/7719756.html
Copyright © 2011-2022 走看看