设为首页 加入收藏

TOP

实现通用的PreparedStatement插入记录的方法(三)
2014-11-24 12:02:21 来源: 作者: 【 】 浏览:130
Tags:实现 通用 PreparedStatement 插入 记录 方法
)) {
java.sql.Date _v = (java.sql.Date) v;
pstmt.setTimestamp(i + 1, new Timestamp(_v.getTime()));
} else if (className.equals("java.util.Date")) {
java.util.Date _v = (java.util.Date) v;
pstmt.setTimestamp(i + 1, new Timestamp(_v.getTime()));
} else if (className.equals("java.sql.Time")) {
java.sql.Time _v = (java.sql.Time) v;
pstmt.setTimestamp(i + 1, new Timestamp(_v.getTime()));
} else {
pstmt.setTimestamp(i + 1, new Timestamp(((java.util.Date) v).getTime()));//能支持更多的应用
//pstmt.setTimestamp(i + 1, (java.sql.Timestamp) v);//使用jsf日期转换后获得的结果可能不完整,这时会出现转换异常
}
continue;
}
if (className.equals("java.sql.Date") || className.equals("java.util.Date")) {
if ((_c.equals("java.lang.String")) && (!"".equals(((String) v).trim()))) {
pstmt.setDate(i + 1, java.sql.Date.valueOf((String) v));
} else if (className.equals("java.util.Date")) {
java.util.Date _v = (java.util.Date) v;
pstmt.setDate(i + 1, new java.sql.Date(_v.getTime()));
} else {
pstmt.setDate(i + 1, (java.sql.Date) v);
}
continue;
}
if (className.equals("java.sql.Time")) {
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 (className.equals("[B") || className.equals("byte[]")) {
//SQL Server 的image\timestamp\binary类型是byte[],MySQL 的blob系列是java.lang.Object,Sybase的image是[B
if ((_c.equals("java.lang.String")) && (!"".equals(((String) v).trim()))) {
pstmt.setBytes(i + 1, ((String) v).getBytes());
} else {
pstmt.setBytes(i + 1, (byte[]) v);
}
continue;
}
if (className.equals("java.sql.Blob")) {
//SQL Server 的image\timestamp\binary类型是byte[],MySQL 的blob系列是java.lang.Object,Sybase的image是[B
if ((_c.equals("java.lang.String")) && (!"".equals(((String) v).trim()))) {
pstmt.setBytes(i + 1, ((String) v).getBytes());
} else {
pstmt.setBlob(i + 1, (java.sql.Blob) v);
}
continue;
}
if (className.equals("java.lang.Object")) {
//SQL Server 的image\timestamp\binary类型是byte[],MySQL 的blob系列是java.lang.Object,Sybase的image是[B
if ((_c.equals("java.lang.String")) && (!"".equals(((String) v).trim()))) {
pstmt.setBytes(i + 1, ((String) v).getBytes());
} else {
pstmt.setObject(i + 1, v);
}
continue;
}
if (className.equals("java.lang.Byte")) {
//MySQL的tinyint是java.lang.Byte
if ((_c.equals("ja
首页 上一页 1 2 3 4 5 下一页 尾页 3/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇java synchronized 下一篇设计模式详解之抽象工厂模式

评论

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