`
ZHENFENGSHISAN
  • 浏览: 71909 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
7e6e47ee-161c-3be5-bd41-0eb274ec4d0e
Spring+Spring...
浏览量:36086
31792615-da99-349b-8109-bbf420058c1d
Spring+Spring...
浏览量:25721
社区版块
存档分类
最新评论

Spring+SpringMVC+MyBatis+easyUI整合基础篇(七)JDBC url的连接参数

阅读更多
  在java程序与数据库连接的编程中,mysql jdbc url格式如下:
jdbc:mysql://[host:port],[host:port].../[database][?参数名1][=参数值1][&参数名2][=参数值2]...
如 jdbc:mysql://localhost:3306/test?user=test&password=123456
 
  刚好最近遇到一个数据库连接参数带来的问题,所以罗列一下几个较为重要的参数:
 
  user 数据库用户名(用于连接数据库) 必要参数。
 
  password 用户密码(用于连接数据库) 如果设置了密码的话同样为必要参数。
 
  useUnicode 是否使用Unicode字符集,如果参数characterEncoding设置为utf-8或gbk,本参数值需设置为true,默认为false。
 
  characterEncoding 允许用户自己设定数据库编码,指定字符编码,在程序与数据库交互时,如果数据的编码类型与数据库的编码类型不一致时,如程序中使用GBK,而数据库的数据类型为utf8,会出现传参无法识别导致无法得到预期的数据返回的问题。为了解决此问题,我们需要在URL上设置characterEncoding=utf8。
  示例代码:
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8
  
  autoReconnect 当数据库连接异常中断时,是否自动重新连接, 默认值为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  

 

以上为整理的较为常用的参数,如果感兴趣可以去官网查阅一下其他参数,谢谢观看。

2
0
分享到:
评论

相关推荐

    开发人员_3_it人员简历_程序员简历模板_计算机相关专业.docx

    项目使用的开发环境和工具有:Windows操作系统,JDK 1.7,Oracle 11G数据库,以及SSM(Spring+SpringMVC+MyBatis)开发框架,还涉及到Java、JSP/Servlet、HTML、XML、JavaScript、jQuery、EasyUI、AJAX、JSON等多种...

    程序员简历模板3.docx

    该项目使用了如SSM(SPRING+SPRINGMVC+MYBATIS)这样的开发框架,以及包括WINDOWS、JDK1.7、ORACLE11G在内的开发环境。此外,他还提到了数据库管理工具,如Oracle、MySQL和SQL Server,以及开发工具如Eclipse、...

    基于分布式集群架构下的SSM电商购物平台设计.pdf

    本篇文章主要介绍了基于分布式集群架构下的SSM(Spring、SpringMVC、Mybatis)电商购物平台的设计与实现。在当今的电商行业中,随着用户量和交易量的激增,传统的单机架构已经无法满足高并发和大数据量的处理需求,...

    java开发工程师简历模板(三)

    - 开发框架方面,他精通SSM(Spring+SpringMVC+MyBatis),同时对Hibernate和Struts2也有一定了解,这反映了他在企业级Java应用开发的广泛经验。 4. **求职意向** - 小七的目标职位是JAVA开发工程师,这表明他...

    42一页简历模板.docx

    - **项目框架**:SSM(Spring+SpringMVC+MyBatis)。 ### 工作经验 #### 奈森信息技术有限公司 - **职位**:Java 开发工程师 - **时间**:2016.09-至今 - **主要成就**: - 负责模拟退火算法 Matlab 平台的改进,...

    JavaEE程序员简历最新版

    - **JavaEE**:熟悉包括Struts2、Hibernate、Spring、SpringMvc、SpringSecurity、Mybatis在内的多种框架。这些框架用于构建分布式、高性能的企业级应用程序,如Web服务和数据库交互。 2. **Web开发技术**: - **...

    大数据培训课程安排.pdf

    主要技术包括:Hibernate、Spring、SpringMVC、log4j slf4j 整合、myBatis、struts2、Shiro 、redis、流程引擎activity, 爬 ⾍技术nutch,lucene,webService CXF、Tomcat集群和热备 、MySQL读写分离 4. 描述如下:...

Global site tag (gtag.js) - Google Analytics