//package com.njcn.relational.utils;
//
//import java.sql.Blob;
//import java.sql.SQLException;
//import java.util.Base64;
//
//public class BlobConverter {
//
//    /**
//     * 将 Blob 转换为 Base64 字符串（推荐）
//     */
//    public static String blobToBase64(Blob blob) {
//        if (blob == null) {
//            return null;
//        }
//        try {
//            byte[] bytes = blob.getBytes(1, (int) blob.length());
//            return Base64.getEncoder().encodeToString(bytes);
//        } catch (SQLException e) {
//            throw new RuntimeException("Blob 转换失败", e);
//        }
//    }
//
//    /**
//     * 将 Blob 转换为字节数组
//     */
//    public static byte[] blobToBytes(Blob blob) {
//        if (blob == null) {
//            return null;
//        }
//        try {
//            return blob.getBytes(1, (int) blob.length());
//        } catch (SQLException e) {
//            throw new RuntimeException("Blob 转换失败", e);
//        }
//    }
//
//    /**
//     * 将 Blob 转换为十六进制字符串（用于小文件）
//     */
//    public static String blobToHex(Blob blob) {
//        if (blob == null) {
//            return null;
//        }
//        try {
//            byte[] bytes = blob.getBytes(1, (int) blob.length());
//            StringBuilder hexString = new StringBuilder();
//            for (byte b : bytes) {
//                String hex = Integer.toHexString(0xff & b);
//                if (hex.length() == 1) {
//                    hexString.append('0');
//                }
//                hexString.append(hex);
//            }
//            return hexString.toString();
//        } catch (SQLException e) {
//            throw new RuntimeException("Blob 转换失败", e);
//        }
//    }
//}
