设为首页 加入收藏

TOP

实现通用的PreparedStatement更新记录的方法(三)
2014-11-24 12:04:54 】 浏览:1770
Tags:实现 通用 PreparedStatement 新记录 方法
dStatementUpdate + _w);//批量更新
pstmt = con.prepareStatement(preparedStatementUpdate + _w);//如果whereStr==null,从这里执行PrepareStatement更新//条件不同,只能逐条变更插入语句
}
//为了提高运算效率,规定判断条件优先顺序:常用标准条件精确匹配、标准条件精确匹配、非标准条件精确匹配、非标准条件概略匹配、非标准条件概略小写匹配
for (int i = 0; i < fields.length; i++) {
Field f = db.getField(tableName, fields[i].toString());
String className = f.getTypeClassName();
int index = f.getSqlType();
Object v = record.get(fields[i].toString());
if (v == null) {
pstmt.setNull(i + 1, index);//continue;
} else if (v != null) {
String _c = ((Class) v.getClass()).getName(); //增加对表单数据的支持,在表单中获取的数据均为String型,固应对其进行转换.
if ((_c.equals("java.lang.String")) && ("".equals(((String) v).trim()))) {
pstmt.setNull(i + 1, index);//continue;
} else {
if (className.equals("java.lang.String")) {
if ((_c.equals("java.lang.String")) && (!"".equals(((String) v).trim()))) {
pstmt.setString(i + 1, (String) v);
}
continue;
}
if (className.equals("java.lang.Integer")) {
if ((_c.equals("java.lang.String")) && (!"".equals(((String) v).trim()))) {
pstmt.setInt(i + 1, Integer.parseInt((String) v));
} else {
if (_c.equals("java.lang.Integer")) {
pstmt.setInt(i + 1, ((Integer) v).intValue());
} else {
Integer n = new Integer(v.toString());
pstmt.setInt(i + 1, n);
}
}
continue;
}
if (className.equals("java.lang.Long")) {
if ((_c.equals("java.lang.String")) && (!"".equals(((String) v).trim()))) {
pstmt.setLong(i + 1, Long.parseLong((String) v));
} else {
if (_c.equals("java.lang.Long")) {
pstmt.setLong(i + 1, ((Long) v).longValue());
} else {
Long l = new Long(v.toString());
pstmt.setLong(i + 1, l);
}
}
continue;
}
if (className.equals("java.lang.Short")) {
if ((_c.equals("java.lang.String")) && (!"".equals(((String) v).trim()))) {
pstmt.setShort(i + 1, Short.parseShort((String) v));
} else {
pstmt.setShort(i + 1, ((Short) v).shortValue());
}
continue;
}
if (className.equals("java.lang.Float")) {
if ((_c.equals("java.lang.String")) && (!"".equals(((String) v).trim()))) {
pstmt.setFloat(i + 1, Float.parseFloat((String) v));
} else {
pstmt.setFloat(i + 1, ((Float) v).floatValue());
}
continue;
}
if (className.equals
首页 上一页 1 2 3 4 5 6 下一页 尾页 3/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇黑马程序员_常见java问题小计 下一篇JSF,第二代Java页面技术

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目