MyBatis Generator插件之SerializablePlugin

org.mybatis.generator.plugins.SerializablePlugin

在generatorConfig.xml中加上配置:
  1. <plugin type="org.mybatis.generator.plugins.SerializablePlugin" />  

运行MBG,生成Userinfo类,我们发现和不加SerializablePlugin插件之前生成的类相比较区别如下:
  1. public class Userinfo implements Serializable {  
  2.     ......  
  3.     private static final long serialVersionUID = 1L;      
  4.     ......    
  5. }  

区别1:实现了Serializable接口

区别2:增加了private static final long serialVersionUID = 1L;

下面我们看SerializablePlugin的代码:
1.
  1. public class SerializablePlugin extends PluginAdapter  

继承PluginAdapter;

2.

  1. private FullyQualifiedJavaType serializable;    //对应java.io.Serializable的java类型    
  2. private FullyQualifiedJavaType gwtSerializable; //对应com.google.gwt.user.client.rpc.IsSerializable的java类型      
  3. private boolean addGWTInterface;                //是否实现com.google.gwt.user.client.rpc.IsSerializable接口      
  4. private boolean suppressJavaInterface;          //是否实现java.io.Serializable接口      
  5.   
  6. public SerializablePlugin() {          
  7.     super();          
  8.     serializable = new FullyQualifiedJavaType("java.io.Serializable"); //$NON-NLS-1$   实例化          
  9.     gwtSerializable = new FullyQualifiedJavaType("com.google.gwt.user.client.rpc.IsSerializable"); //$NON-NLS-1$  实例化    
  10. }  

成员变量和构造方法,详细看代码注释。

3.
  1. public boolean validate(List<String> warnings) {  
  2.     // this plugin is always valid  
  3.     return true;  
  4. }  
posted @ 2018-02-01 10:46  星朝  阅读(2467)  评论(0编辑  收藏  举报