JAVA 对象集合转换为SQL
来源:互联网 发布:小米手机怎么清除数据 编辑:程序博客网 时间:2024/05/22 16:55
JAVA 对象集合转换为SQL
对象集合是从别数据库获得,有的字段是null(或者根据其他要求),转换为insert SQL语句,用于存储过程(数据量较大时使用)。
1. 根据一个对象,获取对象的属性类型,属性名称,属性值得集合;
public List getFiledsInfo(Object o){
Field[] fields=o.getClass().getDeclaredFields();
String[] fieldNames=new String[fields.length];
List list = new ArrayList();
Map infoMap=null;
for(int i=0;i小于fields.length;i++){
infoMap = new HashMap();
infoMap.put(“type”, fields[i].getType().toString());
infoMap.put(“name”, fields[i].getName());
infoMap.put(“value”, getFieldValueByName(fields[i].getName(), o));
list.add(infoMap);
}
return list;
}
2. 根据对象的属性名,获取对象相应的属性值;
public Object 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, new Class[] {});
Object value = method.invoke(o, new Object[] {});
return value;
} catch (Exception e) {
return null;
}
}
3. 指定表名,拼写SQL(空值得跳过);
public List insertSqlList(String tableName, List quanlifylist) {
List sqlList = new ArrayList();
for(int i = 0 ;i小于quanlifylist.size();i++){
List list = getFiledsInfo(quanlifylist.get(i));
String values = “”;
String fields = “”;
for(int j = 0 ;j小于list.size();j++){
if (list.get(j) != null) {
// 拼写sql
Map map = (Map)list.get(j);
String name = map.get(“name”).toString();
String type = map.get(“type”).toString();
Object value = map.get(“value”);
// fields += name + “,”;
if (type != null && null!=value) {
fields += name + “,”;
if (type.contains(“Integer”) ||type.contains(“Double”)) {
values += value + “,”;
} else if (type.contains(“DATE”)) {
if (value instanceof Date) {
SimpleDateFormat sf = new SimpleDateFormat(
“yyyy-MM-dd HH:mm:ss”);
value = sf.format(value);
}
values += “to_date(‘” + value
+ “’,’yyyy-MM-dd hh24:mi:ss’),”;
} else {
if(value.toString().contains(“’”)){
value = value.toString().replaceAll(“’”, “””);
values += “’” + value + “’,”;
}else{
values += “’” + value + “’,”;
}
}
}
}
}
fields = fields.substring(0, fields.length()-1);
values = values.substring(0, values.length()-1);
String sql = “insert into ” + tableName + “(” + fields
+ “) values(” + values + “)”;
sqlList.add(sql);
}
return sqlList;
}
帮助可以查看连接
- JAVA 对象集合转换为SQL
- 将json转换为java集合对象
- 封装将json对象转换为java集合对象
- DataTable类型对象转换为List集合
- CollectionUtils 转换数组为集合对象
- JSONObject转换为java对象
- ASObject转换为Java对象
- java 对象转换为json
- Java中Json字符串直接转换为对象(包括多层List集合)
- Java中Json字符串直接转换为对象的方法(包括多层List集合)
- Java中Json字符串直接转换为对象(包括多层List集合 嵌套)
- Java中Json字符串直接转换为对象(包括多层List集合 嵌套)
- Flex 对象转换为java对象
- Java 集合参数处理(转换Objcet对象)
- Json转换Java对象和JavaList集合
- Arrays.asList转换数组为集合List对象
- Map集合转换为Pojo对象的工具类
- 对象转换为Map集合,使用JSONObject实现
- 【前端Web】Jquery实现的四款牛B的时间轴
- JAVA基础:循环
- 自定义VIEW①先决知识
- AMBA总线协议AHB、APB、AXI对比分析
- Docker部署WordPress LNMP(Nginx PHP MySQL)环境实践
- JAVA 对象集合转换为SQL
- ios 无码统计埋点
- tar命令和排除目录或文件
- 地理坐标系与投影坐标系
- 模糊知识点
- 2017 年你应该学习的编程语言、框架和工具
- 笔试题10. LeetCode OJ (10) Number Complement
- java Socket应用 通信 实现多用户登录
- Java开发中的23种设计模式详解(转)