zoukankan      html  css  js  c++  java
  • java对象存储到mysql数据库

    环境:mysql8  mybatis 

    背景:最近在做一个功能时需要对程序生成的对象保存到数据库中。

    注意事项:需要存储的对象需要实现序列化接口

    例:

    import java.io.Serializable;
    
    public class Test implements Serializable {
         //一些属性
    	
    	  .......
    }
    

      

    代码:

           实体类:

           

    public class Entity {
    	private String id;
    	
    	.....
    	//用来存储序列化后的对象
    	private byte[] blob;
    	
    	
    	//get和set方法
    	......
    
    }

            写数据库:将字节数组写进数据库,博主在mysql数据库创建相关字段时使用的是Blob类型。

    public void writeMysql(Object object) {
            byte[] bytes = new byte[0];
            try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream()) {
                ObjectOutputStream outputStream = new ObjectOutputStream(byteArrayOutputStream);
                outputStream.writeObject(object);
                bytes = byteArrayOutputStream.toByteArray();
            } catch (Exception e) {
                e.printStackTrace();
            }
            //下面写数据库
            。。。。。。
        }

            读数据库:从数据库中读取blob类型数据,然后使用ObjectInputStream将对象反序列化

    public void readMysql(Object object) {
    		// 从数据库中查询出结果
    		Object mysqlobject = 从数据查询出来的结果;
                    byte[] bytes = (byte[])从mysqlobject中取出存储的序列化对象
    		ObjectInputStream inputStream = null;
    		inputStream = new ObjectInputStream(new ByteArrayInputStream(bytes));
    		Object object3 = inputStream.readObject();
    		//object3就是存储之前的对象,接下来可以对object3强制转换为存储之前的类型,进行其他操作
    		。。。。。。。
    	}
    

      

     

  • 相关阅读:
    linux下netstat命令详解
    linux下strace命令详解
    /proc/uptime
    趣味理解网关、路由等概念
    OPENCV运行的问题,自带的程序可以运行,但是自己制作的QT报错
    第九章 MIZ702 ZYNQ片上ADC的使用
    第四章 MIZ701 ZYNQ制作UBOOT固化程序
    第三章 VIVADO 自定义IP 流水灯实验
    第一章 MIZ701 VIVADO 搭建SOC最小系统HelloWorld
    Zynq-7000 MiZ701 SOC硬件使用手册
  • 原文地址:https://www.cnblogs.com/qinshou/p/14414880.html
Copyright © 2011-2022 走看看