SpringMVC、mybatis查询数据库中的二进制文件,在前端页面显示图片

在做项目的时候,图片一般是存在单独的服务器中,数据库中只存url地址,这样做事比较好的,减轻了数据库的压力,存取图片的时候也简单。然而,也不排除直接将二进制文件存到数据库中的情况,这种做法,无论是存还是取都不方便,也增加了数据库的压力,所以尽量避免这种做法。

  • JavaBean
public class CustomerPMProduct {
    private String name;//产品名称
    private Float weightAu;//含金量
    private String standard;//规格
    private Float remainAmount;//剩余量
    private byte[] thumbnail;//缩略图,这个就是二进制字段
    public String getStandard() {
        return standard;
    }
    public void setStandard(String standard) {
        this.standard = standard;
    }

    public byte[] getThumbnail() {
        return thumbnail;
    }

    public void setThumbnail(byte[] thumbnail) {
        this.thumbnail = thumbnail;
    }


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Float getWeightAu() {
        return weightAu;
    }

    public void setWeightAu(Float weightAu) {
        this.weightAu = weightAu;
    }

    public Float getRemainAmount() {
        return remainAmount;
    }

    public void setRemainAmount(Float remainAmount) {
        this.remainAmount = remainAmount;
    }

}
  • mapper.java接口
@Component
public interface CustomerPMProductMapper {
    CustomerPMProduct selectPMProduct();
}
  • mapper.xml文件
<select id="selectPMProduct" resultType="com.yihuisoft.testprojectbiz.entity.CustomerPMProduct">
        SELECT name,
          weight_au weightAu,
          standard,
          REMAIN_AMOUNT remainAmount,
          THUMBNAIL01 thumbnail
        FROM
          (SELECT name,
            weight_au,
            standard,
            REMAIN_AMOUNT ,
            THUMBNAIL01
          FROM PM_PRODUCT
          WHERE exp_yield IS NOT NULL
          ORDER BY exp_yield DESC
          )
        WHERE rownum=1
    </select>
  • service
 public OutDTO selectPMProduct(InDTO inDTO){
        OutDTO outDTO = new OutDTO();
        CustomerPMProduct pmProduct = wealthSuccessionMapper.selectPMProduct();
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("data",pmProduct);
        outDTO.setData(jsonObject);
        return outDTO;
    }
  • 前端显示
  • image标签
<img id="img1" src="" height="128px" width="200px">
  • js
document.getElementById("img1").src = "data:image/png;base64,"+this.pmProduct.thumbnail;
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值