设为首页 加入收藏

TOP

实现通用的PreparedStatement插入记录的方法(四)
2014-11-24 12:02:21 来源: 作者: 【 】 浏览:128
Tags:实现 通用 PreparedStatement 插入 记录 方法
va.lang.String")) && (!"".equals(((String) v).trim()))) {
pstmt.setByte(i + 1, java.lang.Byte.parseByte((String) v));
} else {
pstmt.setByte(i + 1, java.lang.Byte.parseByte(v.toString()));
}
continue;
}
if (className.equals("java.math.BigDecimal")) {
if ((_c.equals("java.lang.String")) && (!"".equals(((String) v).trim()))) {
pstmt.setBigDecimal(i + 1, new BigDecimal((String) v));
} else {
pstmt.setBigDecimal(i + 1, (BigDecimal) v);
}
continue;
}
//以下部分将根据具体的 数据库需要而定,有待验证
if (className.equals("java.sql.Clob")) {
if ((_c.equals("java.lang.String")) && (!"".equals(((String) v).trim()))) {
pstmt.setString(i + 1, (String) v);//给clob类型的字段赋予字符串型
} else {
pstmt.setClob(i + 1, (java.sql.Clob) v);
}
continue;
}
//以下部分将根据具体的数据库需要而定,有待验证
if (className.equals("java.sql.Array")) {
if ((_c.equals("java.lang.String")) && (!"".equals(((String) v).trim()))) {
//
} else {
pstmt.setArray(i + 1, (java.sql.Array) v);
}
continue;
}
//特殊类型,非常用,置后
if (className.equals("com.sybase.jdbc2.tds.SybTimestamp") || className.toLowerCase().indexOf("timestamp") > 0) {
if ((_c.equals("java.lang.String")) && (!"".equals(((String) v).trim()))) {
pstmt.setTimestamp(i + 1, java.sql.Timestamp.valueOf((String) v));
} else {
pstmt.setTimestamp(i + 1, (java.sql.Timestamp) v);
}
continue;
}
//概略匹配
if (className.toLowerCase().indexOf("date") > 0) {
if ((_c.equals("java.lang.String")) && (!"".equals(((String) v).trim()))) {
pstmt.setDate(i + 1, java.sql.Date.valueOf((String) v));
} else {
pstmt.setDate(i + 1, new java.sql.Date(((java.util.Date) v).getTime()));
}
continue;
}
if (className.toLowerCase().indexOf("time") > 0) {
if ((_c.equals("java.lang.String")) && (!"".equals(((String) v).trim()))) {
pstmt.setTime(i + 1, java.sql.Time.valueOf((String) v));
} else {
pstmt.setTime(i + 1, (java.sql.Time) v);
}
continue;
}
if (_c.equals("java.io.FileInputStream")) {
//调用如:FileInputStream in = new FileInputStream("D:\\test.jpg");的结果
pstmt.setBinaryStream(i + 1, (FileInputStream) v, ((FileInputStream) v).available());
continue;
}//java.io.FileInputStream
//其它特殊类型,非常用,置后
}
}
}
num = num + pstmt.executeUpdate();
}
附:应当实现的PreparedStatement插入记录的赋值方法清单
[java]
//以下列出所有的PreparedStatement支持的数据类型,大约28个数据类型,近50个方法
java.util.Calendar calendar
首页 上一页 1 2 3 4 5 下一页 尾页 4/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇java synchronized 下一篇设计模式详解之抽象工厂模式

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: