1.MyBatis3做数据持久层,在字段中有Date和DateTime类型,在插入数据时只要将实体的属性设置成Timestamp就会对应mysql的DateTime类型,Date会对应mysql的Date类型。
2.在MyBatis映射文件中要表明映射类型。
<result column="modified_date" jdbcType="TIMESTAMP" property="modifiedDate" javaType="java.sql.Timestamp" />
<result column="create_date" jdbcType="DATE" property="createDate" javaType="java.util.Date" />
<result column="date" jdbcType="TIMESTAMP" property="date" javaType="java.util.Date" />
3.在插入语句的那个mybatis XML文件在使用字段的时候也要标明类型,注意得用#{},别用${}
#{modifiedDate, jdbcType=TIMESTAMP}
#{createDate, jdbcType=DATE}。
可以尝试以下代码:java.util.Date dt = new java.util.Date()
java.text.SimpleDateFormat sdf =
new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
String currentTime = sdf.format(dt)
然后把currentTime 插入数据库的datetime字段就可以了,取的时候也一样,取出来的
关于你的第一个问题:数据时从页面返回到你的action/servlet中的所以在这时页面传过来的时间值是null的,你可以它的.setdate(new date())这是set一个当前本机时间的值,这样就可以自动将数据库中datatime类型的值填充。 第二个问题:某段时间具体是指定的时间是指什么?是静态时间还是动态时间。如果是静态时间就可以直接用select * from tabname where time between '(对照时间的类型写-起始时间)' and '(结束时间)' 如果是动态时间那就需要去截取时间的年,月,日了,每种数据库都有他自己截取时间的关键字。你可以对照你使用的数据库来看看你截取的关键字。这个例子网上很多,你可以去看看。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)