数据库的字段中使用了blob类型时,在entity中此字段可以对应为byte[] 类型,保存到数据库中时需要把传入的参数转为byte[]类型,读取的时候再通过将byte[]类型转换为String类型。

1. String转byte[]

byte[] byteArray = str.getBytes();

很简单,就是调用String类的getBytes()方法。看JDK源码可以发现该方法最终调用了String类的getBytes(Charset charset)方法。
如果调用的是不带参数的getBytes()方法,则使用默认的编码方式,在Windows操作系统下,默认编码方式为"GBK"。

2. byte[]转String

String str = new String(byteArray);

利用了String类的构造方法之一。因为Java中String类的数据是Unicode类型的,所以getBytes()方法是把Unicode类型转化为指定编码方式的byte数组;
 
05-06 07:53