Dao层里的:
String sql = "INSERT INTO Park_PayOrder(carNo,AddTime)"
+ " VALUES(:carNo,:addTime)";
Map<String,Object> paramMap=BeanUtils.transBean2Map(payOrder);
this.namedJdbcTemplate.update(sql, paramMap);
}
//工具类:
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
public class BeanUtils {
public static Map<String, Object> transBean2Map(Object obj) {
if(obj == null){
return null;
}
Map<String, Object> map = new HashMap<>();
try {
BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
for (PropertyDescriptor property : propertyDescriptors) {
String key = property.getName();
// 过滤class属性
if (!key.equals("class")) {
// 得到property对应的getter方法
Method getter = property.getReadMethod();
Object value = getter.invoke(obj);
map.put(key, value);
}
}
} catch (IntrospectionException | InvocationTargetException | IllegalAccessException e) {
e.printStackTrace();
}
return map;
}
}
public void updatePayOrderpaystatus(com.tianjian.property.jieshun.entity.PayOrder payOrder) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, IntrospectionException{
System.out.println(payOrder.getOrderNop()+"--------"+payOrder.getRemark()+"---------"+payOrder.getPayStatus());
String sql="UPDATE Park_PayOrder SET PayStatus=:PayStatus,Remark=:Remark WHERE OrderNop=:OrderNop";
System.out.println("");
Map<String,Object> paramMap=new HashMap<>();
if(!isNull(payOrder.getPayStatus())){
paramMap.put("PayStatus", payOrder.getPayStatus());
}
if(!isNull(payOrder.getRemark())){
paramMap.put("Remark", payOrder.getRemark());
}
if(!isNull(payOrder.getOrderNop())){
paramMap.put("OrderNop", payOrder.getOrderNop());
}
System.out.println("paramMap:"+paramMap);
this.namedJdbcTemplate.update(sql, paramMap);
}