今天在项目中遇到需要根据时间查询数据的问题,在百度上面扒了一会儿,终于找到了根据时间查询的方法,做笔记如下:
"FROM Nfc_User where DATE_FORMAT(createTime,'%y-%m-%d')>'2016-02-26';
这是hql语句,换算成sql语句的话就是:
select * from nfc_user where DATE_FORMAT(createTime,%y-%m-%d)>'2016-02-26';
下一个知识:
用spring框架当配置了过滤器之后如果还出现了乱码,那么就需要更改spring框架的底层编码了,用注解的方式为:
@RequestMapping(value="请求路径", produces = "text/html;charset=UTF-8") ; 此时的produces的意思就是请求进来会进行一次编码,有且仅进行一次编码,请求返回的时候也会进行一次编码,此时如果请求中返回的数据带有多个对象,比如说是一个集合,那么produces不能够对集合中数据进行编码,会报406错误,解决办法就是将produce="text/html;charset=UTF-8"这个属性去掉;如果还乱码,那么就还要更改tomcat中的编码了: 分别在以下节点上加上这两句话:URIEncoding="UTF-8" useBodyEncodingForURI="true" <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"
useBodyEncodingForURI="true" />
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"
useBodyEncodingForURI="true"
/>
<Connector port="8009" protocol="AJP/1.3"
redirectPort="8443"
URIEncoding="UTF-8"
useBodyEncodingForURI="true"/>