Mybatis逆向工程的pojo实现序列化接口代码

情景如下,这两天在做一个分布式的项目,使用了Alibaba的dubbo作为通信工具,zookeeper作为register,由于dubbo是基于socket协议的,所以在进行pojo传输的时候报了异常,因为pojo没有实现序列化接口,就无法进行基于二进制的序列化传输。报错如下。

 

但是很麻烦的一件事是如果逆向工程生成的pojo全部自己实现序列化会很麻烦,所以看了一下mybatis的插件,发现有一个可以自动给所有pojo实现序列化接口(example除外)。

具体代码如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE generatorConfiguration
 3   PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
 4   "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
 5 
 6 <generatorConfiguration>
 7     <context id="testTables" targetRuntime="MyBatis3">
 8 
 9         <!-- 配置pojo的序列化 -->
10         <plugin type="org.mybatis.generator.plugins.SerializablePlugin" />
11 
12         <commentGenerator>
13             <!-- 是否去除自动生成的注释 true:是 : false:否 -->
14             <property name="suppressAllComments" value="true" />
15         </commentGenerator>
16         <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
17         <jdbcConnection driverClass="com.mysql.jdbc.Driver"
18             connectionURL="jdbc:mysql://localhost:3306/xxxxxxx" userId=" "
19             password=" ">
20         </jdbcConnection>
21         <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 
22             和 NUMERIC 类型解析为java.math.BigDecimal -->
23         <javaTypeResolver>
24             <property name="forceBigDecimals" value="false" />
25         </javaTypeResolver>
26 
27         <!-- targetProject:生成PO类的位置 -->
28         <javaModelGenerator
29             targetPackage="cn.xxxxxxx.pojo" targetProject=".\src">
30             <!-- enableSubPackages:是否让schema作为包的后缀 -->
31             <property name="enableSubPackages" value="false" />
32             <!-- 从数据库返回的值被清理前后的空格 -->
33             <property name="trimStrings" value="true" />
34         </javaModelGenerator>
35         <!-- targetProject:mapper映射文件生成的位置 -->
36         <sqlMapGenerator targetPackage="cn.xxxxxxx.mapper"
37             targetProject=".\src">
38             <!-- enableSubPackages:是否让schema作为包的后缀 -->
39             <property name="enableSubPackages" value="false" />
40         </sqlMapGenerator>
41         <!-- targetPackage:mapper接口生成的位置 -->
42         <javaClientGenerator type="XMLMAPPER"
43             targetPackage="cn.xxxxxxx.mapper" targetProject=".\src">
44             <!-- enableSubPackages:是否让schema作为包的后缀 -->
45             <property name="enableSubPackages" value="false" />
46         </javaClientGenerator>
47         <!-- 指定数据库表 -->
48         <table schema="" tableName=" "></table>
49         <table schema="" tableName=" "></table>
50         <table schema="" tableName=" "></table>
51         <table schema="" tableName=" "></table>
52         <table schema="" tableName=" "></table>
53         <table schema="" tableName=" "></table>
54         <table schema="" tableName=" "></table>
55         <table schema="" tableName=" "></table>
56         <table schema="" tableName=" "></table>
57         <table schema="" tableName=" "></table>
58         <table schema="" tableName=" "></table>
59 
60     </context>
61 </generatorConfiguration>


java代码如下:

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;public class GeneratorSqlmap {public void generator() throws Exception {List<String> warnings = new ArrayList<String>();boolean overwrite = true;// 指定 逆向工程配置文件File configFile = new File("generatorConfig.xml");ConfigurationParser cp = new ConfigurationParser(warnings);Configuration config = cp.parseConfiguration(configFile);DefaultShellCallback callback = new DefaultShellCallback(overwrite);MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);myBatisGenerator.generate(null);}public static void main(String[] args) throws Exception {try {GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();generatorSqlmap.generator();} catch (Exception e) {e.printStackTrace();}}}


需要的jar如下:点击下载

转载于:https://www.cnblogs.com/TimeIsChoice/p/8807548.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/486323.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重磅!2020年全球高被引科学家名单出炉!

来源&#xff1a;科睿唯安、青塔英国伦敦时间11月18日&#xff0c;科睿唯安公布了2020年度“高被引科学家”名单。入榜这份备受期待的名单的自然科学家和社会科学家均发表了多篇高被引论文&#xff0c; 其被引频次位于同学科前1%&#xff0c;彰显了他们在同行之中的重要学术影响…

机器学习—K近邻

一、算法原理 还是图片格式~ 二、sklearn实现 import pandas as pd import numpy as np import matplotlib.pyplot as plt import matplotlib as mpl import seaborn as sns mpl.rcParams[font.sans-serif] [uSimHei] mpl.rcParams[axes.unicode_minus] False from sklearn.d…

华人教授世界一流大学观察报告:斯坦福师生吃饭时,谈论的都是什么话题?...

石毓智&#xff0c;斯坦福大学博士、湖南师范大学特聘教授、新加坡国立大学终身教职。来源&#xff1a;墨香学术 微信&#xff1a;moxiangxueshu编辑 ∑Gemini只有短短120年历史的斯坦福大学&#xff0c;已有近30人获得诺奖&#xff0c;不要说世界上其他大学难以匹敌&#xff0…

tcp连接工具_基于Swoole如何搭建TCP服务,你掌握了吗?

本节将会讲解以下3个问题&#xff1a;通过Swoole如何搭建TCP服务&#xff1f;通过Swoole如何搭建TCP客户端&#xff1f;通过Swoole搭建的TCP服务&#xff0c;更深入理解Swoole的事件驱动模式通过Swoole可以快速创建一个TCP服务&#xff0c;新建一个文件命名为 tcp_server.php&a…

当物联网实时工作时,城市才是“智能”的

文章原载于&#xff1a;千家网在智能交通、数据驱动的公共安全以及平台相关和数字孪生用例相关项目强劲增长的推动下&#xff0c;到2025年&#xff0c;全球在智慧城市倡议上的支出预计将达到3270亿美元。运营转型的前景令人振奋。如果城市正确地构建了这一点&#xff0c;它们将…

复制给节点的命令_深入理解redis主从复制原理

1.复制过程从节点执行 slaveof 命令。 从节点只是保存了 slaveof 命令中主节点的信息&#xff0c;并没有立即发起复制。 从节点内部的定时任务发现有主节点的信息&#xff0c;开始使用 socket 连接主节点。 连接建立成功后&#xff0c;发送 ping 命令&#xff0c;…

php封装webservice_四种php中webservice实现的简单架构方法及实例

一&#xff1a;PHP本身的SOAP所有的webservice都包括服务端(server)和客户端(client)。要使用php本身的soap首先要把该拓展安装好并且启用。下面看具体的code首先这是服务端实现&#xff1a;class test{function show(){return the data you request!;}}function getUserInfo($…

量子计算和量子模拟研究获进展

来源&#xff1a;中国科学技术大学北京时间11月19日&#xff0c;中国科学技术大学潘建伟、苑震生等与德国海德堡大学、意大利特伦托&#xff08;Trento&#xff09;大学的合作者在超冷原子量子计算和模拟研究中取得重要突破&#xff1a;他们开发了一种专用的量子计算机——71个…

05设计模式——抽象工厂模式

前言&#xff1a;以下总结来自龙哥---左潇龙博客。 总结的很到位&#xff0c;附上博客链接&#xff1a;http://www.cnblogs.com/zuoxiaolong/p/pattern6.html 抽象工厂模式算是工厂相关模式的终极形态&#xff0c;它与工厂方法唯一的区别就是工厂的接口里是一系列创造抽象产品的…

卫星发现,这里用十年逆转了千年!

以下内容影像、地形以及气象数据都来自卫星观测记录我们与这个星球如何共处并解决自身的发展问题这是我们的星球这也是我们的星球地球表面的气体流动被卫星和超级计算机所感知它们带来降雨或干旱富饶或贫瘠改变着一块又一块土地一群又一群人一个又一个时代亚洲大陆西南从印度洋…

张亚勤:新范式、新架构和新模态突破传统算力,推动物理世界走向数字化

本文转自联想创投近日&#xff0c;在联想创投2020 CEO年会上&#xff0c;清华大学讲席教授、智能产业研究院院长、美国艺术与科学院院士、百度前总裁张亚勤先生带来了《未来科技趋势展望》。张亚勤表示&#xff0c;数字化的3.0时期已经到来&#xff0c;数字化的范围已从内容、社…

【华为出品】智能体白皮书2020(附全文下载)

来源 | 华为、IDC、中国信通院等微信编辑 | 邱峰、罗兵微信审核 | 张祥、吴斌、数字理政究院、中通协大数据分会IDC、中国信息化百人会、中国信息通信研究院、中国人工智能产业发展联盟与华为联合编撰的《智能体白皮书》指出&#xff0c;在第四次工业革命爆发前的历史拐点&…

吴恩达【深度学习工程师】 04.卷积神经网络 第四周特殊应用(2)神经风格转换...

该笔记介绍的是《卷积神经网络》系列第四周&#xff1a;特殊应用&#xff08;2)神经风格转换 主要内容有&#xff1a; 1.神经风格转换 2.卷积网络隐藏单元可视化显示 3.神经风格转换代价函数 4.内容代价函数 5.风格代价函数 *6.数据从一维到三维的推广 神经风格转换 把C(conten…

php grepmatch,linux最快的文本搜索神器ripgrep(grep的最好代替者)

前言说到文本搜索工具&#xff0c;大家一定会知道 grep, 它是 linux 最有用并最常用的工具之一。但如果要再一个大的工程项目中搜索某个关键词&#xff0c;大家也一定知道它比较耗时。所以就有了很多替代工具&#xff0c;之前最出名的是 Ack&#xff0c;Ag而最近又有了新的替代…

蒲慕明:《大脑之美》序言,脑探索的起点

来源&#xff1a;神经现实本文经授权摘自《大脑之美》序言作者&#xff1a;蒲慕明现代神经科学起源于十九世纪末期&#xff1b;圣地亚哥拉蒙-卡哈尔&#xff08;Santiago Ramn y&#xff09;的神经解剖学研究和他提出的神经元理论是主要的起点。一百多年来&#xff0c;神经科学…

slow log php,善用php-fpm的慢执行日志slow log,分析php性能问题

众所周知&#xff0c;mysql有slow query log&#xff0c;根据慢查询日志&#xff0c;我们可以知道那些sql语句有性能问题。作为mysql的好搭档&#xff0c;php也有这样的功能。如果你使用php-fpm来管理php的话&#xff0c;你可以通过如下选项开启。PHP 5.3.3 之前设置如下&#…

量子信息技术研究现状与未来——郭光灿

来源&#xff1a; 中国科学杂志社量子信息技术是量子力学与信息科学融合的新兴交叉学科, 它的诞生标志着人类社会将从经典技术迈进到量子技术的新时代, 本文将阐述量子信息技术的研究现状与未来. 文中描绘了量子技术发展远景, 即筑建各种类型的量子网络, 包括量子云计算网络、分…

springboot需要tomcat服务器吗_嵌入式 Tomcat AJP 协议对 SpringBoot 应用的影响

前言2020 年 1 月 6 日&#xff0c;国家信息安全漏洞共享平台(CNVD)收录了由北京长亭科技有限公司发现并报送的 Apache Tomcat 文件包含漏洞。Tomcat AJP 协议由于存在实现缺陷导致相关参数可控&#xff0c;攻击者利用该漏洞可通过构造特定参数&#xff0c;读取服务器 webapp 下…

php session 前缀,PHP文件包含--session

利用条件&#xff1a;session文件路径已知&#xff0c;且其中内容部分可控。php的session文件的保存路径可以在phpinfo的session.save_path看到。session 的文件名格式为 sess_[phpsessid]&#xff0c;而 sessionid 在发送的请求的 cookie 字段中也可以看到。实例&#xff1a;“…

大脑与数学——利用代数拓扑研究模拟大脑 第一部分

来源&#xff1a;遇见数学蓝脑计划&#xff08;Blue Brain Project&#xff09;是尝试利用分子层级的哺乳类脑部逆向工程建立一个电脑模拟脑。这里模拟并不仅是包括人工神经网络模型&#xff0c;也包括生物过程的真实神经元模型&#xff0c;和一个经验重建模型连接组。该计划希…