springboot+jdbctemplate+mysql ,多次请求 数据库,报 连接关闭的错误,请大神帮忙指点一下谢谢
导致这种原因可能有很多。
- 该链接已经被程序关闭
- 改链接在执行过程出现异常,被服务端关闭
- 长时间没有IO操作,被服务端关闭
解决这种办法,最好就是用数据源。不要自己维护JDBC的连接。
@Autowired
private JdbcTemplate jdbcTemplate; 我就用这个引入用的,查询也是普通的jdbcTemplate.query,默认的方法,我没有专门去维护数据源用的他默认的。
只是查询列表的时候会出现查一次会从客户端调 大概6次别的接口,SQL语句没问题,直接在mysql里面执行的没问题,以前我以为是mysql的8小时断连接造成的,最近发现我多点几次查询,就报这个连接关闭
QL state [null]; error code [0];
Connection is closed; nested exception is java.sql.SQLException: Connection is closed
主要是刷新一下有的好了,有的还是这个错,我想应该还是连接相关的问题造成的,还有个奇怪的现象,我把同样的代码在windows的服务器上部了一套没出过这个问题。
你维护一个连接池。Druid
或者 hikari
都行。
连接池,可以自己检测链接是否可用。不可用它会创建新的。
JdbcTemplate 本身就有一个构造函数,是需要连接池的
public JdbcTemplate(DataSource dataSource) {
setDataSource(dataSource);
afterPropertiesSet();
}
嗯,好的,我试试吧,现在也只能用这种办法了,我用Druid这个吧,我没用过这个,我还得学习学习,谢谢大佬。