java实体类序列化并存入数据库

1.java bean 序列化

https://www.cnblogs.com/xuxinstyle/p/10998672.html

2.原始的序列化并存库

https://blog.csdn.net/qq_40059532/article/details/100095524?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

/**
     * 序列化与反序列化 POJO
     * 注意:需要序列化的 POJO 对象上必须加上 org.msgpack.annotation.Message 注解:@Message
     */
    public static void serializesPOJO() {
    
    
        try {
    
    
            List<String> poList = new ArrayList<>();
            ProjectOrganization po = new ProjectOrganization();
            po.setSalesLeadsId("1");
            po.setProjectRole("项目经理");
            po.setPost("销售");
            po.setDepartment("销售部");
            po.setFullName("xili");
            ProjectOrganization po1 = new ProjectOrganization();
            po1.setSalesLeadsId("2");
            po1.setProjectRole("项目经理1");
            po1.setPost("销售1");
            po1.setDepartment("销售部1");
            po1.setFullName("xili1");
            ProjectOrganization po2 = new ProjectOrganization();
            po2.setSalesLeadsId("2");
            po2.setProjectRole("项目经理1");
            po2.setPost("销售1");
            po2.setDepartment("销售部1");
            po2.setFullName("xili1");
            poList.add(JSON.toJSONString(po));
            poList.add(JSON.toJSONString(po1));
            poList.add(JSON.toJSONString(po2));
            System.out.println(JSON.toJSONString(po).length());
            System.out.println(JSON.toJSONString(po1).length());
            System.out.println(JSON.toJSONString(po2).length());
            /** org.msgpack.MessagePack 是 java 开发的基本类
             * 用于创建序列化器与反序列化器
             */
            MessagePack messagePack = new MessagePack();

            /**序列化指定的对象为字节数组——————整个序列化过程就是如此简单,一个 API 解决
             * 提示:这个字节数组与 java.lang.String#getBytes() 返回的字节数组是不一样的
             * 使用 String(byte bytes[]) 相应返回是得不到正常结果的
             * 只能再通过 MessagePack 进行反序列化得到结果*/
            byte[] raw = messagePack.write(poList);

            /** read(byte[] bytes, Class<T> c)
             * 将字节数组反序列化为指定类对象,c 指定 POJO 类即可
             */
            StringBuffer x = new StringBuffer();
            for (int i = 0, len = raw.length; i < len; i++) {
    
    
                if (i == len - 1) {
    
    
                    x.append(raw[i]);
                } else {
    
    
                    x.append(raw[i]).append(",");
                }
            }
            System.out.println("raw.length=" + raw.length);
            byte[] bF = x.toString().getBytes();
            IntStream chars = x.toString().chars();
            System.out.println("Arrays.toString(bF)=" + Arrays.toString(bF));
            String x1 = new String(bF);
            System.out.println("x1=" + x1);
            System.out.println("x1.len=" + x1.length());
            String[] xSplit = x1.split(",");
            byte[] bytes = new byte[xSplit.length];
            for (int i = 0; i < xSplit.length; i++) {
    
    
                bytes[i] = Byte.parseByte(xSplit[i]);
            }
            List<String> dst = messagePack.read(bytes, Templates.tList(Templates.TString));
            System.out.println(dst.get(0));
            System.out.println(dst.get(1));

        } catch (IOException e) {
    
    
            e.printStackTrace();
        }

    }

    public static void main(String[] args) {
    
    
        serializesPOJO();
    }

猜你喜欢

转载自blog.csdn.net/weixin_41085114/article/details/109103529