时间:2021-07-01 10:21:17 帮助过:24人阅读
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8autoReconnect 当数据库连接异常中断时,是否自动重新连接, 默认值为false。 autoReconnectForPools 是否使用针对数据库连接池的重连策略, 默认值为false。 以上两个参数都是设置是否允许连接断开后自动重连,jdbc中mysql的连接在长时间的连接后,可能会出现断连或者出现数据库突然宕机的状况。重启数据库服务可能也会继续报异常,只有重启应用重新连接才可以避免继续报错,为了解决这种问题,一般会设置此参数,这时可以使用这个参数来要求jdbc 驱动在发现数据库连接异常后会自动地重新连接。在使用数据连接池的情况,如使用DBCP或者c3p0连接池,应尽量使用autoReconnectForPools。 connectTimeout 和数据库服务器建立socket连接时的超时,单位:毫秒, 0表示永不超时。 socketTimeout socket操作(读写)超时,单位:毫秒, 0表示永不超时 。 JDBC使用socket与数据库连接,数据库并不对应用与数据库间的连接超时进行处理,JDBC的socket timeout在数据库被突然停掉或是发生网络错误(由于设备故障等原因)时十分重要。由于TCP/IP的结构原因,socket没有办法探测到网络错误,因此应用也无法主动发现数据库连接断开。如果没有设置socket timeout的话,应用在数据库返回结果前会无期限地等下去,这种连接被称为dead connection。为了避免dead connections,socket必须要有超时配置。socket timeout可以通过JDBC设置,socket timeout能够避免应用在发生网络错误时产生无休止等待的情况,缩短服务失效的时间。 此参数为jdbc的过期时间设置,与mysql-server的过期时间不是同一参数。
• socket连接时的timeout:通过Socket.connect(SocketAddress endpoint, int timeout)设置
• socket读写时的timeout:通过Socket.setSoTimeout(int timeout)设置
示例代码:
jdbc:mysql://localhost:3306/test?connectTimeout=60000&socketTimeout=60000
以上为整理的较为常用的参数,如果感兴趣可以去官网查阅一下其他参数,谢谢观看。
Spring+SpringMVC+MyBatis+easyUI整合基础篇(七)JDBC url的连接参数
标签:mysql sql 编码 数值 ddr address 设备 port 数据库连接池