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强制转换为存储之前的类型,进行其他操作
    		。。。。。。。
    	}
    

      

     

  • 相关阅读:
    mysql学习笔记
    SpringMVC和Spring父子容器关系
    hexo部署在码云中 无样式问题 冷哈哈
    Mule 动态添加Endpoint(二)
    Mule 动态添加Endpoint
    关于Depend war包的总结
    Mule 控制Service的启/止
    Spring 接管 Hibernate 配置 延迟加载(总结)
    Spring操作指南AOP基本示例(基于XML)
    Spring操作指南AOP基本示例(基于注解)
  • 原文地址:https://www.cnblogs.com/qinshou/p/14414880.html
Copyright © 2011-2022 走看看