java.sql.date 、java.util.date和数据中Date的使用与区别
2012-11-06 22:02
495 查看
关系:
java.sql.date是从java.util.date继承过来的;也就是说java.util.date是java.sql.date的父类
区别:
java.sql.date只有日期没有具体时间(时、分、秒);而java.util.date是有日期和具体时间以及包括星期;
而我们经常通过java应用程序向数据库中插入Date类型的数据时就要考虑这两种时间数据的转换,否则程序容易报错。
插入数据库中的Date一般都是指需要日期而不需要具体时分秒的,而在java中使用的util的Date,所以需要将父类向子类转换。
例如:向数据库中插入一条记录
static void create(String name, Date birthday, float money)
throws SQLException {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
// 2.建立连接
conn = JdbcUtils.getConnection();
// conn = JdbcUtilsSing.getInstance().getConnection();
// 3.创建语句
String sql = "insert into user(name,birthday, money) values (?, ?, ?) ";
ps = conn.prepareStatement(sql);
ps.setString(1, name);
ps.setDate(2,birthday); ///////////////////////////////////////////////111111111111111111111111111
ps.setDate(2, new java.sql.Date(birthday.getTime()));///////////////////22222222222222222222222222
ps.setFloat(3, money);
// 4.执行语句
int i = ps.executeUpdate();
System.out.println("i=" + i);
} finally {
JdbcUtils.free(rs, ps, conn);
}
}
比较1和2,只有2是正确的。
因为java程序中的Date是util包中的,而要插入数据库中的Date是sql内的,所以需要进行转换
new java.sql.Date(birthday.getTime());得到2012-11-03这种形式
java.sql.date是从java.util.date继承过来的;也就是说java.util.date是java.sql.date的父类
区别:
java.sql.date只有日期没有具体时间(时、分、秒);而java.util.date是有日期和具体时间以及包括星期;
而我们经常通过java应用程序向数据库中插入Date类型的数据时就要考虑这两种时间数据的转换,否则程序容易报错。
插入数据库中的Date一般都是指需要日期而不需要具体时分秒的,而在java中使用的util的Date,所以需要将父类向子类转换。
例如:向数据库中插入一条记录
static void create(String name, Date birthday, float money)
throws SQLException {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
// 2.建立连接
conn = JdbcUtils.getConnection();
// conn = JdbcUtilsSing.getInstance().getConnection();
// 3.创建语句
String sql = "insert into user(name,birthday, money) values (?, ?, ?) ";
ps = conn.prepareStatement(sql);
ps.setString(1, name);
ps.setDate(2,birthday); ///////////////////////////////////////////////111111111111111111111111111
ps.setDate(2, new java.sql.Date(birthday.getTime()));///////////////////22222222222222222222222222
ps.setFloat(3, money);
// 4.执行语句
int i = ps.executeUpdate();
System.out.println("i=" + i);
} finally {
JdbcUtils.free(rs, ps, conn);
}
}
比较1和2,只有2是正确的。
因为java程序中的Date是util包中的,而要插入数据库中的Date是sql内的,所以需要进行转换
new java.sql.Date(birthday.getTime());得到2012-11-03这种形式
相关文章推荐
- java.util.Date和java.sql.Date的区别及使用
- java.util.Date和java.sql.Date的区别及使用
- java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和联系
- java.sql.Date与java.util.Date的区别
- java.util.Date和java.sql.Date的区别和相互转化
- java.util.Date和java.sql.Date的区别和应用
- java.util.Date和java.sql.Date的区别和相互转化
- java.util.Date和java.sql.Date的区别及应用
- java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和联系
- java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间
- java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间
- java.util.Date和java.sql.Date的区别及应用
- java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp区别和联系
- java.util.Date和java.sql.Date的区别及应用
- java.sql.Date 与 java.util.Date 区别
- java.util.Date和java.sql.Date的区别
- ActionForm使用java.util.Date数据类型解决方法(转)
- java.util.Date和java.sql.Date的区别及应用
- java蜗牛步步走之一:java.util.Date和java.sql.Date的区别及应用
- java.util.Date与java.sql.Date之间的区别和转化