自动生成Mapper代码
2024-08-28 17:27:55
public class BeanMapperTest {
@Test
public void build() throws Exception {
Class clazz = RiskAccess.class;//把 RiskAccess替换成自己对应的model即可
System.out.println("public final static RowMapper<#ClassName> #ClassName_MAPPER = (rs, rowNum) -> {".replace("#ClassName", clazz.getSimpleName()));
System.out.println("#ClassName dto = new #ClassName();".replace("#ClassName", clazz.getSimpleName()));
for (java.lang.reflect.Method method : clazz.getMethods()) {
String methodName = method.getName();
String fieldName = methodName.replace("set", "");
if (methodName.contains("set")) {
Class paramType = method.getParameters()[0].getType();
System.out.println("dto.#MethodName(rs.get#ParamType(\"#FieldName\"));"
.replace("#MethodName", methodName)
.replace("#ParamType", paramType.getSimpleName())
.replace("#FieldName", fieldName));
}
}
System.out.println("return dto;");
System.out.println("};");
}
}
注意:如果表的字段名称有下划线,而对应POJO的字段没有下划线,则需要手动加上下划线,并且mapper只支持getInt()方法 ,而不支持getInteger()方法
最新文章
- C# 以管理员身份运行WinForm程序
- 配置redis外网可访问,并只允许指定的ip可访问redis
- GridView与CheckBox完美结合
- C# Eval()和Bind()
- MTK Android 编译命令
- 用 JavaScript 修改样式元素
- rnqoj-99-配置魔药-dp
- <;Natural Language Processing with Python>;学习笔记一
- 备注: ubt 16.04 安装 gtx 1060 --- 成功运行 tensorflow - gpu
- git只添加指定类型的文件的.gitignore规则
- 安卓TV开发(五) 移动智能终端UI之实现主流TV焦点可控UI
- (转) 为什么不应该重写service方法?
- og标签对SEO的作用及用法
- centos7和centos6.5环境rpm方式安装mysql5.7和mysql5.6详解
- day35 数据库介绍和初识sql
- 获取js连接参数js_args
- Hibernate对substring和cast的支持问题
- centos远程访问mssql数据库
- 让 ScrollViewer 的滚动带上动画
- 用原生JS写一个网页版的2048小游戏(兼容移动端)