• 如何将图片存到数据库(以mysql为例), 使用ORM Bee更加简单


    如何将图片存到数据库

    1. 创建数据库:

    2. 生成Javabean

    1. public class ImageExam implements Serializable {
    2. private static final long serialVersionUID = 1596686274309L;
    3. private Integer id;
    4. private String name;
    5. // private Blob image;
    6. private InputStream image; //将InputStream存入blob
    7. private byte[] binary1; //存byte[]
    8. private byte[] binary2blob; //将byte[]存入blob

    省略相应的get,set

    3. 使用ORM Bee对表时行插入数据和查询:
     

    1. package org.teasoft.exam.bee.osql;
    2. import java.io.File;
    3. import java.io.FileInputStream;
    4. import java.util.List;
    5. import org.teasoft.bee.osql.api.Suid;
    6. import org.teasoft.exam.bee.osql.entity.ImageExam;
    7. import org.teasoft.exam.comm.Printer;
    8. import org.teasoft.honey.osql.shortcut.BF;
    9. import org.teasoft.honey.util.StreamUtil;
    10. /**
    11. * @author Kingstar
    12. * @since 2.1.10
    13. */
    14. public class ByteArrayOrBlobExam {
    15. public static void main(String[] args) throws Exception {
    16. Suid suid=BF.getSuid();
    17. ImageExam imageExam = new ImageExam();
    18. String filePath = "F://testPic.jpg";
    19. File imageFile = new File(filePath);
    20. FileInputStream inputStream = new FileInputStream(imageFile);
    21. imageExam.setImage(inputStream); //将InputStream存入blob
    22. String str = "Hello, World!";
    23. byte[] byteArray = str.getBytes();
    24. imageExam.setBinary1(byteArray); //存byte[]
    25. imageExam.setBinary2blob(byteArray); //将byte[]存入blob
    26. suid.insert(imageExam);
    27. ImageExam imageSelect = new ImageExam();
    28. imageSelect.setId(473684481);
    29. // imageSelect.setBinary1(byteArray); //不能用于过滤
    30. List list=suid.select(imageSelect);
    31. Printer.printList(list);
    32. StreamUtil.inputStream2File(list.get(0).getImage(), "F://testPic2.jpg");
    33. System.out.println(StreamUtil.byteArray2String(list.get(0).getBinary1()));
    34. System.out.println(StreamUtil.byteArray2String(list.get(0).getBinary2blob()));
    35. }
    36. }

    获取数据库的图片,并保存到指定位置:
        StreamUtil.inputStream2File(list.get(0).getImage(), "F://testPic2.jpg");

    此实例也演示了,如何设置inputStream, byte[]到数据库;

    另外,inputStream是可以设置到mysql的blob字段的

  • 相关阅读:
    html静态网页-求爱表白代码(爱心特效代码520)
    前端每日小知识 保持学习
    Python绘图系统26:坐标和绘图函数设置
    基于servlet+jsp的在线书店销售系统
    12_MySQL数据库_CentOS7下C-C++链接MySQL
    暑假基于springboot开发的工厂项目学习总结
    R语言数据分析案例:探索在线零售数据集
    100000行级别数据的 Excel 导入优化
    Java-反射基础
    推荐几款可以转换图片格式的软件
  • 原文地址:https://blog.csdn.net/abckingaa/article/details/133578285