Home >Database >Mysql Tutorial >MySQL JDBC URL中的格式以及参数介绍

MySQL JDBC URL中的格式以及参数介绍

WBOY
WBOYOriginal
2016-06-07 16:09:341319browse

以下的文章主要介绍的是MySQL JDBC URL中的格式以及其相关参数的详细解析,你如果对MySQL JDBC URL中的格式以及参数的实际应用感兴趣的话,你就可以浏览以下内容,最近我在实际操作中曾遇到过这样的疑难问题,如下所示, 会报 atcom.MySQL.jdbc. MySQL IO.re

以下的文章主要介绍的是MySQL JDBC URL中的格式以及其相关参数的详细解析,你如果对MySQL JDBC URL中的格式以及参数的实际应用感兴趣的话,你就可以浏览以下内容,最近我在实际操作中曾遇到过这样的疑难问题,如下所示,

会报

<ol class="dp-xml">
<li class="alt">
<span>at com.MySQL.jdbc.</span>MySQL<span>IO.readFully(</span>MySQL<span>IO.java:1905)  </span>
</li>
<li>
<span>at com.</span>MySQL<span>.jdbc.</span>MySQL<span>IO.reuseAndReadPacket(</span>MySQL<span>IO.java:2351)  </span>
</li>
<li class="alt">
<span>at com.</span>MySQL<span>.jdbc.</span>MySQL<span>IO.checkErrorPacket(</span>MySQL<span>IO.java:2862)  </span>
</li>
<li>
<span>at com.</span>MySQL<span>.jdbc.</span>MySQL<span>IO.sendCommand(</span>MySQL<span>IO.java:1571)  </span>
</li>
<li class="alt">
<span>at com.</span>MySQL<span>.jdbc.</span>MySQL<span>IO.sqlQueryDirect(</span>MySQL<span>IO.java:1666)  </span>
</li>
<li>
<span>at com.</span>MySQL<span>.jdbc.Connection.execSQL(Connection.java:2988)  </span>
</li>
<li class="alt">
<span>at com.</span>MySQL<span>.jdbc.Connection.execSQL(Connection.java:2917)  </span>
</li>
<li>
<span>at com.</span>MySQL<span>.jdbc.Statement.executeQuery(Statement.java:824)  </span>
</li>
<li class="alt"><span>at com.zycy.db.DbTrans.executeQuery(DbTrans.java:127) </span></li>
</ol>

这样的错误,重启Tomcat服务后就好了,但是过一晚上就有出现这样的问题

MySQL JDBC URL格式如下:

jdbc:MySQL://[host:port],[host:port].../[database][?参数名1][=参数值1][&参数名2][=参数值2]...

常用的几个较为重要的参数:

参数名称 参数说明 缺省值 最低版本要求

user 数据库用户名(用于连接数据库) 所有版本

password 用户密码(用于连接数据库) 所有版本

useUnicode 是否使用Unicode字符集,如果参数characterEncoding设置为gb2312或gbk,本参数值必须设置为true false 1.1g

characterEncoding 当useUnicode设置为true时,指定字符编码。比如可设置为gb2312或gbk false 1.1g

autoReconnect 当数据库连接异常中断时,是否自动重新连接? false 1.1

autoReconnectForPools 是否使用针对数据库连接池的重连策略 false 3.1.3

failOverReadOnly 自动重连成功后,连接是否设置为只读? true 3.0.12

maxReconnects autoReconnect设置为true时,重试连接的次数 3 1.1

initialTimeout autoReconnect设置为true时,两次重连之间的时间间隔,单位:秒 2 1.1

connectTimeout 和数据库服务器建立socket连接时的超时,单位:毫秒。 0表示永不超时,适用于JDK 1.4及更高版本 0 3.0.1

socketTimeout socket操作(读写)超时,单位:毫秒。 0表示永不超时 0 3.0.1

对应中文环境,通常MySQL连接URL可以设置为:

<ol class="dp-xml"><li class="alt">jdbc:MySQL<span>://localhost:3306/test?</span><span class="attribute">user</span><span>=</span><span class="attribute-value">root</span><span>&</span><span class="attribute">password</span><span>=<p></p>&</span><span class="attribute">useUnicode</span><span>=</span><span class="attribute-value">true</span><span>&</span><span class="attribute">characterEncoding</span><span>=</span><span class="attribute-value">utf8</span><span>&</span><span class="attribute">autoReconnect</span><span>=</span><span class="attribute-value">true</span><span>&</span><span class="attribute">failOverReadOnly</span><span>=</span><span>false </span>
</li></ol>

在使用数据库连接池的情况下,最好设置如下两个参数:

<ol class="dp-xml"><li class="alt"><span><span class="attribute">autoReconnect</span><span>=</span><span class="attribute-value">true</span><span>&</span><span class="attribute">failOverReadOnly</span><span>=</span><span class="attribute-value">false</span><span> </span></span></li></ol>

需要注意的是,在xml配置文件中,url中的&符号需要转义成&。比如在tomcat的server.xml中配置数据库连接池时,MySQL jdbc url样例如下:

<ol class="dp-xml"><li class="alt">jdbc:MySQL<span>://localhost:3306/test?</span><span class="attribute">user</span><span>=</span><span class="attribute-value">root</span><span>&<p></p></span><span class="attribute">password</span><span>=&</span><span class="attribute">useUnicode</span><span>=</span><span class="attribute-value">true</span><span>&</span><span class="attribute">characterEncoding</span><span>=</span><span>utf8&<p></p>autoReconnect </span>
</li></ol>

以上的相关内容就是对MySQL jdbc url的介绍,望你能有所收获。


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn