对于日期来说,经常涉及到如何得到一个java.util.Date对象
方法1:从字符串转换为日期
String dateStr = "1999-10-10";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date d = sdf.parse(dateStr);
方法2:从日历对象得到日期
Calendar c = Calendar.getInstance(); // 日历对象
c.set(1999,11,23);
java.util.Date d2 = c.getTime();
方法3:从一个毫秒值得到日期
java.util.Date d3 = new java.util.Date(System.currentTimeMillis()));
日期数据处理(2)
如何得到一个java.sql.Date对象
(获得java.sql.Time, java.sql.Timestamp与此类似)
long time = new java.util.Date().getTime(); // 拿到毫秒时
// 通过毫秒值构造子类型对象
java.sql.Date sd = new java.sql.Date(time);
如何得到一个字符串时间值
java.util.Date date = new java.util.Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String time = sdf.format(date);
空值处理
对于PreparedStatement来说,如果要设置某个?取值为null,需要做如下操作:
pstm.setObject(4, null); // 这种较好理解,建议使用
pstm.setNull(4, java.sql.Types.DECIMAL);
// 第2参数为?对应列的数据类型,常量
关于模糊查询
如果查询语句中需要做模糊查询,那么需要按下面方式处理:
例: String sql=" select * from emp where ename like ?";
PreparedStatement pstm = conn.prepareStatement(sql);
pstm.setString(1,"%M%");
强调:%的位置不是写在?附近,而是通过setString方法调用时传入