怎么创建一个byte[]的List集合

mysql数据库表中有一列是blob类型数据,在后端对象中使用byte[]接收,现在想把这一列数据单独查出来,然后组成一个byte[]的集合,List这样去创建我发现代码没报错,运行报不报错没有试过,但是mybatis在生成mapper.xml中的查询标签时生成失败了,是返回类型List的原因,我应该怎么去创建这样的集合去接收呢?

public class Obj{
    private Byte[] blob;
  
   //get set 方法
   //List<Obj> list;
}

用个对象包装一下就行

在 Java 中,可以使用 List 来创建一个存储字节数组的集合。这样就可以避免使用基本数据类型 byte 引发的问题。

MyBatis 的映射文件也应该使用 List 来表示返回类型。

代码中你可以这样去查询:

List<Byte> bytes = myBatisMapper.selectBytes();

对应的mapper.xml 中的查询标签:

<select id="selectBytes" resultType="java.util.List">
    SELECT column_name FROM table_name;
</select>

如果你是使用JDBC去查询的话

List<Byte> bytes = new ArrayList<Byte>();
try(Connection connection = DriverManager.getConnection(url, username, password)) {
    try(PreparedStatement statement = connection.prepareStatement("SELECT column_name FROM table_name")) {
        try(ResultSet resultSet = statement.executeQuery()) {
            while (resultSet.next()) {
                byte[] bytesFromDB = resultSet.getBytes("column_name");
                for(byte b: bytesFromDB) {
                    bytes.add(b);
                }
            }
        }
    }
}

虽然这样的查询方式会使用更多的内存, 但这样就可以避免 byte[] 在返回类型上的问题了。