MySQL : JDBC JNDI URL Syntax

JNDI概述 JNDI 是个什么东东?2007-06-07 12:21 JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有真正掌握J2EE特别是EJB的知识。那么,JND 阅读详情

MySQL的 JDBC URL 格式 for Connector/J 如下例:

jdbc:mysql://[host][,failoverhost…][:port]/[database] [?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]…
jdbc:mysql://[host:port],[host:port]…/[database] [?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]…

几个重要的参数,如下表所示:

参数名称参数说明缺省值最低版本要求
useUnicode是否使用Unicode字符集,如果参数characterEncoding设置为gb2312或gbk,本参数值必须设置为truefalse1.1g
characterEncoding当useUnicode设置为true时,指定字符编码。比如可设置为gb2312或gbkfalse1.1g
autoReconnect当数据库连接异常中断时,是否自动重新连接?false1.1
autoReconnectForPools是否使用针对数据库连接池的重连策略false3.1.3
failOverReadOnly自动重连成功后,连接是否设置为只读?true3.0.12
maxReconnectsautoReconnect设置为true时,重试连接的次数31.1
initialTimeoutautoReconnect设置为true时,两次重连之间的时间间隔,单位:秒21.1
connectTimeout和数据库服务器建立socket连接时的超时,单位:毫秒。 0表示永不超时,适用于JDK 1.4及更高版本03.0.1
socketTimeoutsocket操作(读写)超时,单位:毫秒。 0表示永不超时03.0.1


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

jdbc:mysql://localhost:3306/DBmsg?useUnicode=true&characterEncoding=utf-8&useSSL=false

在使用数据库连接池的情况下,最好设置如下两个参数:autoReconnect=true&failOverReadOnly=false

需要注意的是,在xml配置文件中,url中的&符号需要转义成&。比如在tomcat的server.xml中配置数据库连接池时,mysql jdbc url样例如下:
jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=gbk
&autoReconnect=true&failOverReadOnly=false

信息泄露漏洞实战指南:从侦察到利用的攻防全景解析 信息泄露漏洞是网络安全领域的基础性风险,其原理在于应用程序或系统在运行过程中,无意间向未授权方暴露了敏感数据。这类漏洞本身可能不直接导致系统沦陷,但会显著降低攻击门槛,为后续的精准攻击提供关键跳板,其技术价值在于将碎片化的信息转化为可行动的威胁情报。在应用场景上,无论是Web服务器版本信息、错误详情、备份文件,还是配置管理平台的未授权访问,都可能成为攻击入口。例如,通过分析HTTP响应头中的服务器版本信息,攻击者可关联历史漏洞库发起定向攻击;而Nacos等配置中心的未授权访问,则可能直接暴露数据库凭证等核心 阅读详情

相关推荐

车载测试工程师必备:5分钟搞定CANoe台架搭建(附DBC导入技巧)

本文为车载测试工程师提供快速搭建CANoe测试台架的实用指南,涵盖硬件连接、DBC文件导入及常见报错解决方案。通过详细步骤和高效技巧,帮助工程师在5分钟内完成台架搭建,提升车载测试效率,特别适合紧急功能验证场景。

potato的博客 813

J2EE总结:Java命名与目录接口JNDI

JNDI 是什么 JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有真正掌握J2EE特别是EJB的知识。 那么,JNDI到底起什么作用? 要了解JNDI的作用,我们可以从“如果不用JNDI我们怎样做?用了JNDI后我们又将怎样做?”

萧逸闲侃 1961

WhatsApp API接口的隐秘角落:从协议解析到自定义消息引擎

本文深入解析WhatsApp API接口的隐秘角落,从协议逆向工程到自定义消息引擎开发实战。通过分析WhatsApp的二进制XML协议和加密机制,构建超越官方API限制的自定义消息引擎,实现高效、灵活的即时通讯解决方案。文章还提供了企业级架构设计和风控规避策略,助力开发者突破官方限制,提升消息到达率和成本效益。

q3r4s5t的博客 761

数据库连接学习(一)——JNDI数据源的配置

一、数据源的由来   在Java开发中,使用JDBC操作数据库的四个步骤如下:       ①加载数据库驱动程序(Class.forName("数据库驱动类");)       ②连接数据库(Connection con  = DriverManager.getConnection();)       ③操作数据库(PreparedStatement stat = con.pr

Leo专题 1082

机器学习——Anaconda下载安装教程

Anaconda详细下载安装教程

2401_83693485的博客 3067

从原理图到代码:深入解析SX1278 LoRa模块与STM32的SPI通信驱动(附完整工程)

本文深入解析了SX1278 LoRa模块与STM32的SPI通信驱动实现,从硬件原理图到完整工程代码,详细介绍了LoRa技术的通信原理、寄存器配置、SPI接口设计及低功耗优化策略。适合物联网开发者和嵌入式工程师提升远距离无线通信能力,附完整工程代码助力快速开发。

weixin_42715608的博客 425

JNDI注入详解(自学)

Jndi叫Java命名和目录的接口,可以类比为一个字典(就比如用一个目录路径去定义一个文件,目录路径和文件就是键值)。在Java应用中除了以常规方式使用名称服务(比如使用DNS解析域名) ,另一个常见的用法是使用目录服务作为对象存储的系统来存储和获取Java对象(比如使用打印机,在目录服务查找打印机然后获得一个打印机对象)。Jndi包含在Java SE平台。要使用Jndi,您必须拥有Jndi类和一个或多个服务提供者(SPI)。JDK包含以下命名/目录服务的服务提供者:轻量级目录访问协议(LDAP。

m0_64481831的博客 2057

【ChatGPT实战案例】ChatGPT如何帮助产品经理高效工作?

1. 产品经理主要工作方向, 2. 具体工作中,向ChatGPT提问参考

weixin_62909516的博客 1900

JNDI参数配置

IBM WebSphere JNDI 服务  java.naming.provider.url=iiop://myhost:9001  java.naming.factory.initial= com.ibm.websphere.naming.WsnInitialContextFactory BEA WebLogic JNDI 服务  java.naming.pro

java_freshman01的专栏 1010

红外协议 IR NEC 协议深度解析-简单易懂协议详解

1. 协议特征 使用双向编码(又称曼彻斯特编码); 使用38K载波对编码后的波形进行调制; 位时间 1.12ms 或 2.25ms 2. 调制 定义脉冲560µS为脉冲基本宽度T; 根据脉冲时间长短来解码。推荐载波占空比为1/3至1/4: (1) Logic “1” 位宽为2.25ms,脉冲时间560us(T + 3T); (2) Logic “0” 位宽为1.12ms,脉冲时间560us(T + T)。 (3 ) 重复码: 位宽为11.25ms,脉冲时间9ms(16T + 4T)。 3. 协议

代码打工人的博客 1万+

Android Studio打包全攻略---从入门到精通

初出茅庐 手动打包怎么手动打包项目写完了,现在需要把应用上传到市场,问题出现—怎么把代码变成.apk(Android的可安装文件)。 1. 创建签名文件 2. 填写好签名参数 3. 生成APK 注意:签名的密码和密匙的密码注意保管,不要忘了,签名文件别泄漏了,也别搞丢了为什么要打包我最开始就有这个疑问,我们的代码不是点了下运行按钮就直接安装到手机上了吗,我们在在项目Project

我早就想,要这样载着你,翻山越岭 2万+

工作中使用到的单词(软件开发)

1.エイリアス   alias 别名 powershell使用 get-help 命令时,会得到与此命令 相关(别名)的命令 2.プロキシ proxy 代 理 3.プロモート   promote 促进,提升   开发的系统新功能上线发布,有时会使用到这个词,比如 STプロモート 还有使用リリース这个词的。比如STリリース。个人认为两者含义相同。 4.見逃し み................................................................

sun0322 6万+

微信小程序 - 强力解决播放视频卡顿问题,小程序使用video组件播放视频或第三方视频插件,会出现卡顿或者无法播放的各种奇怪问题(微信小程序苹果ios/安卓播放视频很卡不流畅、视频太长或文件大等情况)

微信小程序视频组件播放卡顿,微信小程序video组件出现无法播放或卡顿,微信小程序video组件播放时会出现卡顿,微信小程序使用video组件播放视频的时候,会出现卡顿或者无法播放的问题,微信小程序安卓视频播放卡顿问题,微信小程序苹果ios手机播放视频不流畅很卡,加cdn还是卡,uniapp播放视频会有明显的卡顿问题,video视频时卡顿不流畅问题,为什么video组件播放视频卡顿?苹果微信小程序通过video组件播放视频时卡顿,怎么解决?微信小程序video组件出现无法播放或卡顿,设置custom-cac

🏆 前端领域优质创作者 1万+

Java安全编码实战:通过java-sec-code靶场掌握Web漏洞原理与修复

在软件开发领域,Web安全漏洞是开发者必须面对的核心挑战。其原理往往源于对用户输入数据缺乏有效验证与过滤,导致恶意指令被系统误执行。从技术价值看,理解并防范这些漏洞不仅能保护应用免受攻击,更是构建可信软件体系的基石。常见的应用场景包括用户登录、数据查询、文件上传等交互环节,其中SQL注入、命令执行、反序列化等问题尤为突出。本文聚焦于java-sec-code这一Java漏洞靶场项目,它通过可运行的漏洞案例与修复代码,为开发者提供了从理论到实践的闭环学习路径。项目涵盖近30种常见漏洞,如SQL注入和反序列化,

weixin_30300225的博客 399

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

初始JNDI

首先我们来回顾一下简单的问题,列在下面第一点。 1.我们知道,Java 的运行从 static main 开始,为什么一定要从 static 方法开始呢? 2.在我们知道这个世界上的另外一个地方有一个对象存在而且服务器也会在我们开始工作前为我们准备好,那么我该怎么找到它呢?如果这个对象是我这个类创建的,那么当然简单,直接用对象的引用就能调用它的方法,那如果这个对象不是我创建的,我想主动调用它的方法

wanglingzhong的专栏 1472

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Tomcat 定制JNDI URL Resource

Tomcat中定制jndi url resource实现

cloud的技术积累 1696

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

JNDI学习总结(一)——JNDI数据源的配置

一、数据源的由来   在Java开发中,使用JDBC操作数据库的四个步骤如下:     ①加载数据库驱动程序(Class.forName("数据库驱动类");)     ②连接数据库(Connection con = DriverManager.getConnection();)     ③操作数据库(PreparedStatement stat = con.prepareStatement(sql);stat.executeQuery();)     ④关闭数据库,释放连接(con....

xiaokanfuchen86的博客 1836

Kettle常见数据库JNDI连接配置

一、 关于JNDI JNDI的全程为: Java 命名与目录接口(Java Naming and Directory Interface),在J2EE容器中配置JNDI参数,定义一个数据源,也就是JDBC引用参数,给这个数据源设置一个名称;然后,在程序中,通过数据源名称引用数据源从而访问后台数据库。简而言之就是JNDI给资源取了名字,每次需要用到资源时是需要根据名字来找对应的资源,从而避免了程序与数据库之间的紧耦合,使应用更加易于配置、易于部署。JNDI 在 J2EE 应用程序中的主要角色就是提供间接...

仗剑走天涯 7268

JSP学习笔记(一百二十九):数据源jndi在高并发应用的参数配置

通常情况下,数据源jndi的配置是这样的: <Resource name="jdbc/db1" auth="Container" type="javax.sql.DataSource" username="root" password="123" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0...

diejiankuai3444的博客 163

安全技术系列之JNDI注入

JDNI注入总结

好记性不如烂笔头 7260

MySQL数据库URL添加参数报错问题

url没有添加参数时这样的,没有报错,但是因为需要制定编码格式什么的需要添加参数 jdbc:mysql://localhost:3306/mybatis jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=utf8" ...

m0_58475163的博客 1597

关于URL上参数的问题

解释2:在做网页的时候,偶尔会遇到url被截断的情况,一般是出现在有参数的url中,比如www.baidu.com?a=1&b=2,有时候就会出现url只传递了www.baidu.com?a=1后边的url被截断了,出现这种情况一般最有效的解决方案是把&符号用%26替换,这样www.baidu.com?编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如 空格的编码值是"%20"。解释1:有些符号在URL中是不能直接传递的,如果要在URL中传递这些。...

weixin_43416349的博客 2751

史上最全最详细JNDI数据源配置说明

环境:tomcat6.0+Maven 要使用数据源就要知道数据源的由来:在java开发使用jdbc都要经历这四步 ①加载数据库驱动程序:(Class.forName(“数据库驱动类”);) ②连接数据库(Connection con = DriverManager.getConnection();) ③操作数据库(PreparedStatement stat = con.prepareSt

万米高空的博客 4万+

JNDI地址的两种写法

在描述JNDI,例如获得数据源时,JNDI地址 有两种写法,例如同是 jdbc/testDS 数据源: A: java:comp/env/jdbc/testDS B: jdbc/testDS 这两种写法,配置的方式也不尽相同,第一种方法应该算是一种利于程序移植或迁移的方法,它的实现与“映射”的概念相同,而第二种方法,则是一个硬引用。 java:comp/env是环境命名上下文(envir

郭東的博客 1858
telib
博客等级 码龄12年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值