getValue()方法 java_【Java 】实用方法

/*** 获取属性名数组 (工具方法)

**/

private staticString[] getFiledName(Object o){

Field[] fields=o.getClass().getDeclaredFields();

String[] fieldNames=newString[fields.length];for(int i=0;i

fieldNames[i]=fields[i].getName();

}returnfieldNames;

}/*根据属性名获取属性值 (工具方法)

**/

private staticObject getFieldValueByName(String fieldName, Object o) {try{

String firstLetter= fieldName.substring(0, 1).toUpperCase();

String getter= "get" + firstLetter + fieldName.substring(1);

Method method= o.getClass().getMethod(getter, newClass[] {});

Object value= method.invoke(o, newObject[] {});returnvalue;

}catch(Exception e) {return null;

}

}//根据传过来的实体及数据库名字自动形成sql并输出

publicString insert(Object t,String sqlname) {

StringBuilder ObjName= newStringBuilder();

StringBuilder ObjValue= newStringBuilder();

String[] fieldNames=getFiledName(t);for(int j=0 ; j

String name = fieldNames[j]; //获取属性的名字

Object value =getFieldValueByName(name,t);if (value == null || "".equals(value) || "null".equals(value)) //这一步是为了剔除掉不未赋值的字段,避免sql冗余,且加强了实体类的复用率

{continue;

}

ObjName.append(name);

ObjValue.append(value);

ObjName.append(",");

ObjValue.append("','");

}

ObjName=ObjName.deleteCharAt(ObjName.length() - 1);

ObjValue=ObjValue.delete(ObjValue.length() - 3,ObjValue.length());

String sql="insert into "+sqlname+" ("+ObjName.toString()+") values ('"+ObjValue.toString()+"')";returnsql;

}//修改方法

public String update(Object t,intid,String sqlname) {

StringBuilder ObjSetVal= newStringBuilder();

String[] fieldNames=getFiledName(t);for(int j=0 ; j

StringBuilder ObjName= newStringBuilder();

StringBuilder ObjValue= newStringBuilder();//遍历所有属性

String name =fieldNames[j];//获取属性的名字

Object value =getFieldValueByName(name,t);

ObjName.append(name);

ObjValue.append(value);if (value == null || "".equals(value) || "null".equals(value))

{continue;

}

ObjSetVal.append(ObjName+"='"+ObjValue+"',");

}

ObjSetVal=ObjSetVal.deleteCharAt(ObjSetVal.length() - 1);

String sql="update "+sqlname+" set "+ObjSetVal+" where id='"+id+"'";returnsql;

}//删除方法

publicString delete(String ids,String sqlname) {

String sql="delete from "+sqlname+" where id in ('"+ids.replace(",", "','")+"')";returnsql;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值