返回

ibatis代码自动生成工具ibator修改备忘

发布时间:2023-11-09 02:56:27 263


由于对ibator了解的不够深入,毅然决然的开始了修改ibator插件的过程,修改的过程收获很大,了解了这个插件的诸多使用技巧。

 

1.自动生成的代码中的讨厌的Example怎么改名?

   这个也是驱动我去修改ibator plugin的原动力,因为我懒,不想每次生成代码以后再去替换Example单词,使用UltraEditor自动把Ibator源程序中的所有Example都替换了,替换完以后才发现,ibator插件可以自动帮我们替换,配置一个参数就可以了,汗啊。替换内容如下:

 

 
    
       
           
           
       

        
       

2.既然动手改了,就把看着不顺眼的地方统统的改掉吧,以下是便于日后再想改的时候要看的内容:

 

   代码注释在org.apache.ibatis.ibator.internal这个package下的DefaultCommentGenerator.java中,可以把英文的注释改成中文的,但是sqlmap中的注释不能直接改中文,因为sqlmap.xml文件时utf-8编码的,直接写入中文注释会出现乱码的情况。

 

  在org.apache.ibatis.ibator.config这个package下的MergeConstants.java中包含有代码注解中的某些单词,可以考虑修改。

 

3.下面是从别人的博客转过来的内容:

 

1、Abator生成Java类文件时,根据注释区分属性和方法是系统生成或用户自定义,以此决定保留或者覆写.
 
2、Abator生成SQLMap的xml文件时,根据元素id是否包含前缀 ibatorgenerated_ 区分元素是系统
      生成或用户自定义,以此决定保留或者覆写.。
 
3、注意ibatorConfig.xm 文件中节点的顺序
 
4、生成的数据对象
 
    Primary Key Class 主键的所有组成字段在一个类中
    
    Record Class 非主键字段非BLOB字段组成的类,继承于Primary Key Class
    
    Record With BLOBs Class 所有BLOB字段组成的类,继承于Record Class (如不存在),就会继承Primary Key Class
                            不支持只包含BLOB字段的表。
    
    Example Class    用于生成动态where条件的类
 
5、example Class 使用(可以使用逻辑运算的结合律简化where条件)
 
代码:
  TestTableExample example = new TestTableExample();
  example.createCriteria().andField1EqualTo(5);
 
产生条件:
 
  where field1 = 5
 
代码:
 
  TestTableExample example = new TestTableExample();
 
  example.createCriteria()
    .andField1EqualTo(5)
    .andField2IsNull();
 
  example.or(example.createCriteria()
    .andField3NotEqualTo(9)
    .andField4IsNotNull());
 
  List field5Values = new ArrayList();
  field5Values.add(8);
  field5Values.add(11);
  field5Values.add(14);
  field5Values.add(22);
 
  example.or(example.createCriteria()
    .andField5In(field5Values));
 
  example.or(example.createCriteria()
    .andField6Between(3, 7));
 
 
产生条件:
 
  where (field1 = 5 and field2 is null)
     or (field3 <> 9 and field4 is not null)
     or (field5 in (8, 11, 14, 22))
     or (field6 between 3 and 7)
    
 
6、ibatorConfig.xm 文件分析
 



 
   
    
   
    
   
    
   
    
   
    
   
    
       
           
           
       

        
       
    
       
        
       
        
       
        
         
          
         
          
       

            
       
        
       
            
       
        
       
            
       
        
       
            
       


        
       
        
         
          
         
          
         
          
         
          
         
          
             
          
         
          
         
          
         
          
         
          
       

        
   
    

 

 

  

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
一个很漂亮的js菜单 2023-11-08 23:59:01