为了账号安全,请及时绑定邮箱和手机立即绑定

Spring JDBC 中 Found_rows 不起作用

Spring JDBC 中 Found_rows 不起作用

慕丝7291255 2019-04-08 11:16:42
Stringsql="SELECTSQL_CALC_FOUND_ROWS*FROMmemberLIMIT0,100"Stringcountsql="SELECTFOUND_ROWS()ascount";总是返回错误的行数
查看完整描述

2 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

FOUNDROWS()是mysql的函数,且必须紧跟在SQLCALCFOUNDROWS之后使用,这完全是mysql的事,跟springJDBC没什么关系啊!个人估计出现错误的原因:你这两个sql可能不是在同一个connection中执行。由于spring是通过ThreadLocal封装JDBCConnection的,所以你可能检查一下两个sql语句是否在同一个线程中执行,如果是在不同的线程中执行,即意味着不同的Connection,那出错就是正常现象!
                            
查看完整回答
反对 回复 2019-04-08
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

其实这个问题跟jdbcTemplate的调用方式有关,采用jdbcTemplate.queryForRowSet会影响另一SQL语句的结果;采用publicListquery(Stringsql,Object[]args,int[]argTypes,RowMapperrowMapper)可以解决上述问题。
                            
查看完整回答
反对 回复 2019-04-08
  • 2 回答
  • 0 关注
  • 345 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信