后端开发 数据库 关于 mysql的datetime 和 java中的 Date的转换

强烈建议!!!!
不要在Java的Bean里面去储存 Date类型 !
好烦的!各种报错
每次查询或者写入的时候 转换一下格式!

java date 转mysql dateTime

Date d = new Date ();
Timestamp t = new Timestamp(d.getTime());

mysql dateTime转java date

Date d = new Date(t. getTime());

注意 从数据库查出来的date类型 是不可以转为String类型的;

mysql中查询语句date类型的字段可以先转为字符串类型 再作比较

例:select * from 表名 where date_format(字段名,’%Y-%m-%d %H:%m:%s’) >= date_format(比较的日期,’%Y-%m-%d %H:%m:%s’)

如果要把一个Date 类型作为查询条件放到Where里面,怎么做呢。。

我做的例子是这样

		String sql = "select * from workorder_plan where ";
        String start = workOrderPlan.getStartTime();
        String end = workOrderPlan.getEndTime();
        sql += "plan_start_time >= " +
                "str_to_date" +
                "('"+ start + "','%Y-%m-%d %H:%i:%S')"
                + " and plan_end_time < " +
                "str_to_date" +
                "('" +end +   "','%Y-%m-%d %H:%i:%S')";

这里需要尤其注意 !! **sql当中str_to_date 括号里 String两边一定要加上 ’ 单引号 **

你可能感兴趣的:(数据库)