zoukankan      html  css  js  c++  java
  • 自动生成Mapper代码

    
    
    
    
     1 public class BeanMapperTest {
     2     @Test
     3     public void build() throws Exception {
     4         Class clazz = RiskAccess.class;//把  RiskAccess替换成自己对应的model即可
     5         System.out.println("public final static RowMapper<#ClassName> #ClassName_MAPPER = (rs, rowNum) -> {".replace("#ClassName", clazz.getSimpleName()));
     6         System.out.println("#ClassName dto = new #ClassName();".replace("#ClassName", clazz.getSimpleName()));
     7         for (java.lang.reflect.Method method : clazz.getMethods()) {
     8             String methodName = method.getName();
     9             String fieldName = methodName.replace("set", "");
    10             if (methodName.contains("set")) {
    11                 Class paramType = method.getParameters()[0].getType();
    12                 System.out.println("dto.#MethodName(rs.get#ParamType("#FieldName"));"
    13                         .replace("#MethodName", methodName)
    14                         .replace("#ParamType", paramType.getSimpleName())
    15                         .replace("#FieldName", fieldName));
    16             }
    17         }
    18         System.out.println("return dto;");
    19         System.out.println("};");
    20     }
    21 }

     注意:如果表的字段名称有下划线,而对应POJO的字段没有下划线,则需要手动加上下划线,并且mapper只支持getInt()方法 ,而不支持getInteger()方法

  • 相关阅读:
    C++ 中复杂的声明
    指向成员的指针
    指针与引用的操作符
    char指针
    软件测试
    网络应用层协议
    BOOL,int,float,指针变量与零值比较的if语句
    有关单向链表的题目
    main方法执行之前,做什么事
    C++复制控制
  • 原文地址:https://www.cnblogs.com/dwb91/p/6410613.html
Copyright © 2011-2022 走看看