解决spring boot jpa查询,语句正确,返回为空问题
Posted 久曲健
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决spring boot jpa查询,语句正确,返回为空问题相关的知识,希望对你有一定的参考价值。
JPA(Hibernate),拥有很强大的能力,极大简化DAO层的开发
Spring Boot实现的是一站式全包,但是数据库是比较特殊的存在,在开发时可以使用Embedded数据库如DerBy等,但是实际环境下,都会把数据库分离到另一台专用服务器,在连接的时候,可能会出现和开发时不一样的各种BUG
调用查询接口,结果如下:
[
{},
{},
{}
]
在调用它的时候会返回null
原因有2
1.传进去的参数可能不正确
需要我们debug或输出,细细查看
2.查询字符串有中文
原因可能是字符集的锅,在windows
上的mysql
数据库默认使用UTF-8
,而linux上通过apt
安装的MySQL
默认是latin
在application.properties
文件database 的 url后面加上?useUnicode=true&characterEncoding=utf-8
声明,此次连接使用utf-8字符集
spring.datasource.url=jdbc:mysql://localhost:3306/students?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
再来查询:
参考文章:
https://www.jianshu.com/p/d001a62ecdaa
以上是关于解决spring boot jpa查询,语句正确,返回为空问题的主要内容,如果未能解决你的问题,请参考以下文章
Spring boot 之 使用JPA对数据进行复杂条件的查询
Spring Boot中的JPA @query中没有传递参数[重复]
如何使用 jpa/spring-boot 正确应用类似 PrePersist 的逻辑