当遇到新开发业务或者更换数据库引擎,涉及到新增方法,一个一个set 赋值真心烦人,偶尔还漏set,真是出力不讨好,让人头大
偏偏开发又很懒,对于重复简单的重复劳动打心底排斥,那咱自己就搞一个批量生产定制,上代码
package com.wind.cloud.entiry;
import java.lang.reflect.Field;
import java.util.Random;
/**
* @author windbird
* @Date 2022/12/16 10:44
* @ClassName GetEntityAllSetField
* @desc: 给一个实体所有字段赋值去模拟
*/
public class GetEntityAllSetField {
public static void main(String[] args) {
String setSql ="";
String aliasName = "header";
Field[] declaredFields = EntityInfo.class.getDeclaredFields();
/**
* setSql
* aliasName 对象别名
* declaredFields 类属性
*/
setSql = getEntitySetResultList(setSql, aliasName,declaredFields);
System.out.println("setSql===>\n"+setSql);
}
private static String getEntitySetResultList(String setSql, String aliasName, Field[] declaredFields) {
StringBuilder setBuilder= new StringBuilder();
for(Field f: declaredFields){
f.setAccessible(true);
System.out.println(f.getGenericType().getTypeName());
switch(f.getGenericType().getTypeName()){
case "int" :
int a = Math.abs(new Random().nextInt());
if("version".equals(f.getName())){
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0,1).toUpperCase()+f.getName().substring(1,f.getName().length())).append("(").append(0).append(")").append(";").append("\n");
}else{
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0,1).toUpperCase()+f.getName().substring(1,f.getName().length())).append("(").append(a).append(")").append(";").append("\n");
}
break ;
case "java.lang.Integer":
Integer b = Math.abs(new Random().nextInt());
if("version".equals(f.getName())){
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0,1).toUpperCase()+f.getName().substring(1,f.getName().length())).append("(").append(1).append(")").append(";").append("\n");
}else {
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0, 1).toUpperCase() + f.getName().substring(1, f.getName().length())).append("(").append(b).append(")").append(";").append("\n");
}
break;
case "long":
case "java.lang.Long" :
if ("userId".equals(f.getName()) || "user_id".equals(f.getName())){
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0,1).toUpperCase()+f.getName().substring(1,f.getName().length())).append("(").append("18888888888888L").append(")").append(";").append("\n");
break;
}else if("id".equals(f.getName())){
Long l = Math.abs(new Random().nextLong());
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0,1).toUpperCase()+f.getName().substring(1,f.getName().length())).append("(").append(l).append(")").append(";").append("\n");
break;
}else{
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0,1).toUpperCase()+f.getName().substring(1,f.getName().length())).append("(").append("88888888888L").append(")").append(";").append("\n");
break;
}
case "double":
double da = Math.abs(new Random().nextDouble());
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0,1).toUpperCase()+f.getName().substring(1,f.getName().length())).append("(").append(da).append(")").append(";").append("\n");
break;
case "java.lang.Double":
Double Da = Math.abs(new Random().nextDouble());
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0,1).toUpperCase()+f.getName().substring(1,f.getName().length())).append("(").append(Da).append(")").append(";").append("\n");
break;
case "short":
short st =12;
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0,1).toUpperCase()+f.getName().substring(1,f.getName().length())).append("(").append(st).append(")").append(";").append("\n");
break;
case "java.lang.Short":
Short St =235;
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0,1).toUpperCase()+f.getName().substring(1,f.getName().length())).append("(").append(St).append(")").append(";").append("\n");
break;
case "byte":
byte bt =-18;
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0,1).toUpperCase()+f.getName().substring(1,f.getName().length())).append("(").append(bt).append(")").append(";").append("\n");
break;
case "java.lang.Byte":
Byte Bt =18;
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0,1).toUpperCase()+f.getName().substring(1,f.getName().length())).append("(").append(Bt).append(")").append(";").append("\n");
break;
case "boolean":
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0,1).toUpperCase()+f.getName().substring(1,f.getName().length())).append("(").append(true).append(")").append(";").append("\n");
break;
case "java.lang.Boolean":
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0,1).toUpperCase()+f.getName().substring(1,f.getName().length())).append("(").append(false).append(")").append(";").append("\n");
break;
case "char":
char ct ='m';
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0,1).toUpperCase()+f.getName().substring(1,f.getName().length())).append("(").append(ct).append(")").append(";").append("\n");
break;
case "java.lang.Character":
Character Ct ='M';
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0,1).toUpperCase()+f.getName().substring(1,f.getName().length())).append("(").append(Ct).append(")").append(";").append("\n");
break;
case "float":
float fa = Math.abs(new Random().nextFloat());
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0,1).toUpperCase()+f.getName().substring(1,f.getName().length())).append("(").append(fa).append(")").append(";").append("\n");
break;
case "java.lang.Float":
Float Fa = Math.abs(new Random().nextFloat());
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0,1).toUpperCase()+f.getName().substring(1,f.getName().length())).append("(").append(Fa).append(")").append(";").append("\n");
break;
case "java.lang.String":
String tempShow ="中国地区上海张家港熬阿胶块VN你123244在甘霖啊诶我让不骄傲啊总V领从你肚子里不是拍照到哪里存哪里科大智能落库的";
Integer random1 = Integer.valueOf(String.valueOf(Math.random()*1000).substring(0,1));
Integer random2 = Integer.valueOf(String.valueOf(Math.random()*1000).substring(0,1));
tempShow =tempShow.substring(random1,random1+random2);
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0,1).toUpperCase()+f.getName().substring(1,f.getName().length())).append("(\"").append(tempShow).append("\")").append(";").append("\n");
break;
case "java.util.Date":
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0,1).toUpperCase()+f.getName().substring(1,f.getName().length())).append("(new Date())").append(";").append("\n");
break;
default:
setBuilder.append(aliasName).append(".").append("set").append(f.getName().substring(0,1).toUpperCase()+f.getName().substring(1,f.getName().length())).append("(\"").append("\")").append(";").append("\n");
}
setSql=setBuilder.toString();
}
return setSql;
}
}在这里插入代码片