问题如下:
1、JPA自动生成的SQL语句:
select wxvisit0_.id as id1_34_, wxvisit0_.create_time as create_t2_34_,
wxvisit0_.deleted as deleted3_34_, wxvisit0_.from_company as
from_com4_34_, wxvisit0_.from_phone as from_pho5_34_,
wxvisit0_.from_user as from_use6_34_, wxvisit0_.from_user_number as
from_use7_34_, wxvisit0_.from_user_vehicle as from_use8_34_,
wxvisit0_.open_id as open_id9_34_, wxvisit0_.remarks as
remarks10_34_, wxvisit0_.update_time as update_11_34_,
wxvisit0_.visit_company as visit_c12_34_,
wxvisit0_.visit_company_index as visit_c13_34_, wxvisit0_.visit_photo as
visit_p14_34_, wxvisit0_.visit_remarks as visit_r15_34_,
wxvisit0_.visit_time as visit_t16_34_, wxvisit0_.visit_type as
visit_t17_34_, wxvisit0_.visit_user as visit_u18_34_,
wxvisit0_.visit_user_phone as visit_u19_34_ from wx_visit wxvisit0_
where (wxvisit0_.create_time between '02/29/2020 00:00:00.000' and
'03/06/2020 23:59:59.000') order by wxvisit0_.create_time desc
2、mysql表中create_time字段数据如下:
1与2的格式不一致,导致SQL查询无记录
分析解决
1、查看mysql版本
2、查看Springboot 项目maven依赖:未设定mysql driver版本号
<!--Mysql依赖包-->
<dependency>
<groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <!-- druid数据源驱动 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>${druid.version}</version> </dependency>
3、添加mysql driver版本号
<!--Mysql依赖包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
<scope>runtime</scope>
</dependency>
4、查看JPA自动生成的SQL语句:格式正确,问题解决
select wxvisit0_.id as id1_34_, wxvisit0_.create_time as create_t2_34_,
wxvisit0_.deleted as deleted3_34_, wxvisit0_.from_company as
from_com4_34_, wxvisit0_.from_phone as from_pho5_34_,
wxvisit0_.from_user as from_use6_34_, wxvisit0_.from_user_number as
from_use7_34_, wxvisit0_.from_user_vehicle as from_use8_34_,
wxvisit0_.open_id as open_id9_34_, wxvisit0_.remarks as
remarks10_34_, wxvisit0_.update_time as update_11_34_,
wxvisit0_.visit_company as visit_c12_34_,
wxvisit0_.visit_company_index as visit_c13_34_, wxvisit0_.visit_photo as
visit_p14_34_, wxvisit0_.visit_remarks as visit_r15_34_,
wxvisit0_.visit_time as visit_t16_34_, wxvisit0_.visit_type as
visit_t17_34_, wxvisit0_.visit_user as visit_u18_34_,
wxvisit0_.visit_user_phone as visit_u19_34_ from wx_visit wxvisit0_
where (wxvisit0_.create_time between '2020-02-29 00:00:00' and '2020-
03-06 23:59:59') order by wxvisit0_.create_time desc
碰到的坑
如果将mysql driver 版本设为8.0. x,问题依旧,最终设为5.x版本问题才解决。猜测Spring Boot JPA与mysql 8.0适配仍然有不确定的问题待解决。
网友评论