• 图片数据&大文本数据存储


    图片数据的存储(数据库字段格式为blob)  

    存数据  

    Connection conn = JdbcUtils.getConnection();
    //创建预处理对象
    PreparedStatement pstmt = conn.prepareStatement("insert into t1 values(?,?)");
    //指定问号的值
    pstmt.setInt(1, 1);
    File file = new File("src/2.gif");
    InputStream in = new FileInputStream(file);
    pstmt.setBinaryStream(2, in, file.length());
    //执行SQL语句
    pstmt.executeUpdate();

    取数据  

    Connection conn = JdbcUtils.getConnection();
    //创建预处理对象
    PreparedStatement pstmt = conn.prepareStatement("select * from t1");
    //执行SQL语句
    ResultSet rs = pstmt.executeQuery();
    if(rs.next()){
    int id = rs.getInt("id");
    InputStream in = rs.getBinaryStream("image");
    //需要再建一个文件
    File file = new File("src/3.gif");
    OutputStream os = new FileOutputStream(file);
    byte[] buffer = new byte[1024];
    int b = 0;
    while((b=in.read(buffer)) != -1){
    os.write(buffer,0,b);
    }

    大文本数据的存储(数据库字段格式为text)    

    存数据  

    Connection conn = JdbcUtils.getConnection();
    //创建预处理对象
    PreparedStatement pstmt = conn.prepareStatement("insert into t2 values(?,?)");
    //指定问号的值
    pstmt.setInt(1, 1);
    File file = new File("src/a.txt");
    FileReader fileReader = new FileReader(file);
    pstmt.setCharacterStream(2, fileReader,file.length());
    //执行SQL语句
    pstmt.executeUpdate();

    取数据   

    Connection conn = JdbcUtils.getConnection();
    //创建预处理对象
    PreparedStatement pstmt = conn.prepareStatement("select * from t2");
    //执行SQL语句
    ResultSet rs = pstmt.executeQuery();
    if(rs.next()){
    int id = rs.getInt("id");
    Reader reader = rs.getCharacterStream("txt");
    //需要再建一个文件
    File file = new File("src/b.txt");
    BufferedReader br = new BufferedReader(reader);
    BufferedWriter bw = new BufferedWriter(new FileWriter(file));
    String s = "";
    while((s = br.readLine()) != null){
    bw.write(s);
    bw.write("
    ");
    }
    br.close();
    bw.close();
    }

    本文出自 “曾颐楠的播客” 博客,请务必保留此出处http://zengyinan.blog.51cto.com/9524976/1721403

  • 相关阅读:
    HDU 2376 树形dp|树上任意两点距离和的平均值
    POJ2342 树形dp
    Codeforces 699D Fix a Tree 并查集
    第七届山东省ACM省赛
    [转]override和new的区别
    [转]C#的各种命名规范
    [转]DotNetBar.Bar作为容器使用的方法及Text更新原理
    [转]WPF: ShowDialog() 切换到其他应用窗口后,再切换回来无法让子窗口总在最上方
    c#校验主程序本身的MD5
    [转]WinForm登陆:窗体间的数据传递
  • 原文地址:https://www.cnblogs.com/zengyinanos/p/5042766.html
Copyright © 2020-2023  润新知