Mybatis框架下Sql语句在java代码中查询不到结果
如题所示
贴出log信息
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7804b036] was not registered for synchronization because synchronization is not active
JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@5097983a] will not be managed by Spring
==> Preparing: select * from student WHERE sname = ?
==> Parameters: 我(String)
<== Total: 0
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7804b036]
[]
而mysql控制台中却可以查到信息
select * from student WHERE sname ="我"

英文字段不会出现问题,发生这种情况的很大一个原因是字符集出问题
只要在你的配置url中设置字符集就好了~
在springboot的配置文件加上,其他框架原理相同,即在jdbc的url中设置与数据库相同的字符集,如果数据库中是UTF8mb4,设置为UTF8即可.
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/school?serverTimezone=UTC&useSSL=false
|