java - 如何从 MySQL 中检索休眠中的多个图像?
问题描述
**你好,
如何从 List 中检索图像并在 JSP 页面中显示。我尝试了很多方法,但没有得到想要的输出。我将 Hibernate 与 JPA、Servlet 和 MySQL DB 一起使用。
请帮忙。**
这是我的 DAO 课程
public class IndexDAO {
public List<ItemModel> ls=null;
public List getAll()
{
Session ses=HibernateUtil.getSf().openSession();
try(ses) {
String hql=" from com.imagineage.admin.ItemModel ";
Query q = ses.createQuery(hql);
ls=q.list();
} catch (Exception e) {
e.printStackTrace();
}
return ls;
}
这是模型类。
package com imagineage admin
import java io Serializable
import javax persistence Column
import javax persistence Entity
import javax persistence GeneratedValue
import javax persistence Id
import javax persistence Lob
import javax persistence Table
import org hibernate annotations GenericGenerator
import lombok.Getter
import lombok.Setter
import lombok.ToString
@SuppressWarnings("serial")
@Getter
@ToString
@Setter
@Entity
@Table(name="ProductItems")
public class ItemModel implements Serializable {
@Id
@GeneratedValue(generator = "MyItemGen")
@GenericGenerator(name = "MyItemGen",strategy = "com.imagineage.generators.ItemIDGen")
@Column(name = "Item_ID")
private String ItemID;
private String ItemName;
private Integer ItemQty;
private Double ItemPrice;
private String ItemDesc;
@Lob
private byte[] ItemImg;
private String CatFk;
}
解决方案
我自己做的。
<%
for (ItemModel im : imodel) {
InputStream inputStream = new ByteArrayInputStream(im.getItemImg());
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
byte[] buffer = new byte[4096];
int bytesRead = -1;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
byte[] imageBytes = outputStream.toByteArray();
String base64Image = Base64.getEncoder().encodeToString(imageBytes);
im.setBase64Image(base64Image);
inputStream.close();
outputStream.close();
%>
<!-- <div class="col-sm-9 padding-right"> -->
<!-- <div class="features_items">features_items -->
<div class="col-sm-3">
<div class="product-image-wrapper">
<div class="single-products">
<div class="productinfo text-center">
<img src="data:image/jpg;base64,${ItemModel.base64Image}" alt="" />
推荐阅读
- docker - 如何在 docker-compose.yml 命令字段中运行 powershell 脚本?
- javascript - 如何在保留动画的同时隐藏元素?
- python - 将文件上传到 GCP 时如何确定记录的大小
- javascript - 如何将 Formik 自定义组件值设置为 Formik 值
- spring - 提取数组的值并添加到同一个select mongoDB中
- autodesk-forge - 访问被拒绝 - 从 BIM 360 API 获取权限
- c - 成员引用基类型“volatile unsigned char”不是结构或联合
- python - 使用复选框清除 TextField
- arm-template - ARM 模板部署脚本 Azure 登录
- python-3.x - 如何删除字符串句子中数字之间的空格python