jdbc:mysql://[host:port]/[database][?参数名1][=参数值1][&参数名2][=参数值2]...
参数名称
参数说明缺省值 最低版本要求
user 数据库用户名(用于连接数据库) 所有版本
password用户密码(用于连接数据库) 所有版本
useUnicode 是否使用Unicode字符集,如果参数characterEncoding设置为gb2312或gbk,本参数值必须设置为true false 1.1g
characterEncoding当useUnicode设置为true时,指定字符编码。比如可设置为gb2312或gbkflse1.1g
autoReconnect 当数据库连接异常中断时,是否自动重新连接? false1.1
autoReconnectForPools 是否使用针对数据库连接池的重连策略 false3.1.3
failOverReadOnly 自动重连成功后,连接是否设置为只读?true3.0.12
maxReconnectsautoReconnect 设置为true时,重试连接的次数 3 1.1
initialTimeoutautoReconnect 设置为true时,两次重连之间的时间间隔,单位:秒 2 1.1
connectTimeout 和数据库服务器建立socket连接时的超时,单位:毫秒。 0表示永不超时,适用于JDK 1.4及更高版本 0 3.0.1
socketTimeoutsocket *** 作(读写)超时,单位:毫秒。 0表示永不超时03.0.1
mysql jdbc怎么用问号传参简单的一个例子:登陆.
从登陆框中传过来两个参数.
正常情况下、假设是 aa bb
select * from tbl_user where uname='aa' and upass='bb'
然后有些会sql的人就想到了在参数后面加些其他的东西
比如在bb' or 'a'='a 或者 DELETE FROM tbl_user WHERE 1>0之类的
这样SQL语句就变成:
select * from tbl_user where uname='aa' and upass='bb' or 'a' = 'a'
这样的语句是不安全的。
后来就出现PreparedStatement 对象的?占位符,通过给? 设值,可以把传过来的参数当成普通的字符串,包括单引号。这样就避免了一些灾难。
jdbc:mysql://localhost:3306:test这句里面分如下解析: jdbc:mysql:// 是指JDBC连接方式; localhost: 是指你的本机地址; 3306 SQL数据库的端口号; test 就是你要连接的数据库的地址。 谢谢采纳!!!欢迎分享,转载请注明来源:内存溢出
评论列表(0条)