java存取BLOB类型的数据

  准确讲这篇博文应该取名为  string转byte 与byte转string。我项目使用的是hibernate,有一个映射类Ttask,在这个类中,对应的BLOB类型的字段是:tLogContent,它的类型是byte[] ,所以下面就来说一下String转byte和byte转String。

    1.string转byte

       String s = diaryVO.getDiaryContent();

        byte[] byte = s.getBytes();


    2.byte 转String

        try {

        byte[] byte = ttasklog.getTlogContent();

            String s = new String(byte,"UTF-8");

        } catch (UnsupportedEncodingException e) {

            e.printStackTrace();

        }


       就是酱紫的~\(≧▽≦)/~啦啦啦~

        


       

转载于:https://my.oschina.net/xiaoyuHe/blog/478546

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中,可以使用JDBC API连接数据库,并使用BLOB(二进制大对象)数据类型来存储和检索图像。以下是一个简单的示例代码,演示了如何将图像存储在数据库中: ```java // 1. 创建数据库连接 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password"); // 2. 准备SQL语句 String sql = "INSERT INTO mytable (image) VALUES (?)"; PreparedStatement statement = conn.prepareStatement(sql); // 3. 读取图像文件 File file = new File("myimage.png"); FileInputStream inputStream = new FileInputStream(file); // 4. 将图像文件写入BLOB字段 statement.setBinaryStream(1, inputStream, (int) file.length()); // 5. 执行SQL语句 statement.executeUpdate(); // 6. 关闭连接和流 inputStream.close(); statement.close(); conn.close(); ``` 在上面的示例中,我们使用PreparedStatement对象来执行SQL语句,并使用setBinaryStream方法将图像文件的InputStream对象写入BLOB字段。最后,我们关闭连接和流对象以释放资源。 如果要从数据库中检索图像,请使用以下代码: ```java // 1. 创建数据库连接 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password"); // 2. 准备SQL语句 String sql = "SELECT image FROM mytable WHERE id=?"; PreparedStatement statement = conn.prepareStatement(sql); statement.setInt(1, 1); // 3. 执行SQL语句并获取结果集 ResultSet rs = statement.executeQuery(); // 4. 从结果集中获取BLOB字段并将其保存到文件中 if (rs.next()) { InputStream inputStream = rs.getBinaryStream("image"); OutputStream outputStream = new FileOutputStream("retrievedimage.png"); byte[] buffer = new byte[4096]; int bytesRead = -1; while ((bytesRead = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, bytesRead); } outputStream.close(); inputStream.close(); } // 5. 关闭连接和结果集 rs.close(); statement.close(); conn.close(); ``` 在上面的示例中,我们使用ResultSet对象获取结果集,并使用getBinaryStream方法检索BLOB字段的InputStream对象。然后,我们使用OutputStream将InputStream对象中的数据写入文件中。最后,我们关闭连接和结果集对象以释放资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值