{"id":492,"date":"2012-11-11T19:28:39","date_gmt":"2012-11-11T19:28:39","guid":{"rendered":"http:\/\/ilias-laptop\/examples\/core-java\/sql\/get-jdbc-connection-parameters\/"},"modified":"2019-03-05T13:10:45","modified_gmt":"2019-03-05T11:10:45","slug":"get-jdbc-connection-parameters","status":"publish","type":"post","link":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/","title":{"rendered":"Get JDBC Connection parameters"},"content":{"rendered":"<p>With this example we are going to demonstrate how to get the JDBC Connection parameters. In short, to get the JDBC Connection parameters you should:<\/p>\n<ul>\n<li>Load the MySQL JDBC driver, using the <code>forName(String className)<\/code> API method of the <a href=\"http:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/lang\/Class.html\" target=\"_blank\" rel=\"noopener noreferrer\">Class<\/a>.<\/li>\n<li>Get the <a href=\"http:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/sql\/Driver.html\" target=\"_blank\" rel=\"noopener noreferrer\">Driver<\/a> Instance. Invoke the <code>getDriver(String url)<\/code> of the <a href=\"http:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/sql\/DriverManager.html\" target=\"_blank\" rel=\"noopener noreferrer\">DriverManager<\/a>, using the database URL.<\/li>\n<li>Get available properties, using the <code>getPropertyInfo(String url, Properties info)<\/code> of the Driver. It will return an array of <a href=\"http:\/\/docs.oracle.com\/javase\/7\/docs\/api\/java\/sql\/DriverPropertyInfo.html\" target=\"_blank\" rel=\"noopener noreferrer\">DriverPropertyInfo<\/a> objects describing possible properties.<\/li>\n<li>For each one of the properties, get the name, value, description, choices and if property is required or not.<\/li>\n<\/ul>\n<p>Let\u2019s take a look at the code snippet that follows:\n<\/p>\n<pre class=\"brush: java\">package com.javacodegeeks.snippets.core;\n\nimport java.sql.Driver;\nimport java.sql.DriverManager;\nimport java.sql.DriverPropertyInfo;\nimport java.sql.SQLException;\nimport java.util.Arrays;\n\npublic class ConnectionProperties {\n \n  public static void main(String[] args) {\n\n    try {\n\n\n  \/\/ Load the MySQL JDBC driver\n\n  String driverName = \"com.mysql.jdbc.Driver\";\n\n  Class.forName(driverName);\n\n\n  \/\/ Get the Driver instance\n\n  String serverName = \"localhost\";\n\n  String schema = \"test\";\n\n  String url = \"jdbc:mysql:\/\/\" + serverName +  \"\/\" + schema;\n\n  Driver driver = DriverManager.getDriver(url);\n\n\n  \/\/ Get available properties\n\n  DriverPropertyInfo[] properties = driver.getPropertyInfo(url, null);\n\n  for (int i=0; i &lt; properties.length; i++) {\n\n\n\n\n\n\/\/ Property information\n\n\nString name = properties[i].name;\n\n\nboolean required = properties[i].required;\n\n\nString value = properties[i].value;\n\n\nString description = properties[i].description;\n\n\nString[] choices = properties[i].choices;\n\n\n\nSystem.out.println(\"Property : \" + name + \"nRequired : \" + required + \"nValue : \" + value + \"nDescription : \" + description + \"nChoices : \" + (choices!=null?Arrays.asList(choices):null) + \"n\");\n\n  }\n    } catch (ClassNotFoundException e) {\n\nSystem.out.println(\"Could not find the database driver \" + e.getMessage());\n    } catch (SQLException e) {\n\nSystem.out.println(\"Could not retrieve database metadata \" + e.getMessage());\n    }\n\n  }\n}\n<\/pre>\n<p><b>Example Output:<\/b><\/p>\n<pre style=\"background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;\"><code style=\"color: black; word-wrap: normal;\">Property : HOST\nRequired : true\nValue : localhost\nDescription : Hostname of MySQL Server\nChoices : null\n\nProperty : PORT\nRequired : false\nValue : 3306\nDescription : Port number of MySQL Server\nChoices : null\n\nProperty : DBNAME\nRequired : false\nValue : test\nDescription : Database name\nChoices : null\n\nProperty : user\nRequired : true\nValue : null\nDescription : Username to authenticate as\nChoices : null\n\nProperty : password\nRequired : true\nValue : null\nDescription : Password to use for authentication\nChoices : null\n\nProperty : allowLoadLocalInfile\nRequired : false\nValue : true\nDescription : Should the driver allow use of 'LOAD DATA LOCAL INFILE...' (defaults to 'true').\nChoices : [true, false, yes, no]\n\nProperty : allowMultiQueries\nRequired : false\nValue : false\nDescription : Allow the use of ';' to delimit multiple queries during one statement (true\/false), defaults to 'false'\nChoices : [true, false, yes, no]\n\nProperty : allowNanAndInf\nRequired : false\nValue : false\nDescription : Should the driver allow NaN or +\/- INF values in PreparedStatement.setDouble()?\nChoices : [true, false, yes, no]\n\nProperty : allowUrlInLocalInfile\nRequired : false\nValue : false\nDescription : Should the driver allow URLs in 'LOAD DATA LOCAL INFILE' statements?\nChoices : [true, false, yes, no]\n\nProperty : alwaysSendSetIsolation\nRequired : false\nValue : true\nDescription : Should the driver always communicate with the database when Connection.setTransactionIsolation() is called? If set to false, the driver will only communicate with the database when the requested transaction isolation is different than the whichever is newer, the last value that was set via Connection.setTransactionIsolation(), or the value that was read from the server when the connection was established.  Note that useLocalSessionState=true will force the same behavior as alwaysSendSetIsolation=false, regardless of how alwaysSendSetIsolation is set.\nChoices : [true, false, yes, no]\n\nProperty : autoClosePStmtStreams\nRequired : false\nValue : false\nDescription : Should the driver automatically call .close() on streams\/readers passed as arguments via set*() methods?\nChoices : [true, false, yes, no]\n\nProperty : autoDeserialize\nRequired : false\nValue : false\nDescription : Should the driver automatically detect and de-serialize objects stored in BLOB fields?\nChoices : [true, false, yes, no]\n\nProperty : autoGenerateTestcaseScript\nRequired : false\nValue : false\nDescription : Should the driver dump the SQL it is executing, including server-side prepared statements to STDERR?\nChoices : [true, false, yes, no]\n\nProperty : autoReconnect\nRequired : false\nValue : false\nDescription : Should the driver try to re-establish stale and\/or dead connections? If enabled the driver will throw an exception for a queries issued on a stale or dead connection, which belong to the current transaction, but will attempt reconnect before the next query issued on the connection in a new transaction. The use of this feature is not recommended, because it has side effects related to session state and data consistency when applications don't handle SQLExceptions properly, and is only designed to be used when you are unable to configure your application to handle SQLExceptions resulting from dead and stale connections properly. Alternatively, investigate setting the MySQL server variable \"wait_timeout\" to some high value rather than the default of 8 hours.\nChoices : [true, false, yes, no]\n\nProperty : autoReconnectForPools\nRequired : false\nValue : false\nDescription : Use a reconnection strategy appropriate for connection pools (defaults to 'false')\nChoices : [true, false, yes, no]\n\nProperty : blobSendChunkSize\nRequired : false\nValue : 1048576\nDescription : Chunk to use when sending BLOB\/CLOBs via ServerPreparedStatements\nChoices : null\n\nProperty : autoSlowLog\nRequired : false\nValue : true\nDescription : Instead of using slowQueryThreshold* to determine if a query is slow enough to be logged, maintain statistics that allow the driver to determine queries that are outside the 99th percentile?\nChoices : [true, false, yes, no]\n\nProperty : blobsAreStrings\nRequired : false\nValue : false\nDescription : Should the driver always treat BLOBs as Strings - specifically to work around dubious metadata returned by the server for GROUP BY clauses?\nChoices : [true, false, yes, no]\n\nProperty : functionsNeverReturnBlobs\nRequired : false\nValue : false\nDescription : Should the driver always treat data from functions returning BLOBs as Strings - specifically to work around dubious metadata returned by the server for GROUP BY clauses?\nChoices : [true, false, yes, no]\n\nProperty : cacheCallableStmts\nRequired : false\nValue : false\nDescription : Should the driver cache the parsing stage of CallableStatements\nChoices : [true, false, yes, no]\n\nProperty : cachePrepStmts\nRequired : false\nValue : false\nDescription : Should the driver cache the parsing stage of PreparedStatements of client-side prepared statements, the \"check\" for suitability of server-side prepared and server-side prepared statements themselves?\nChoices : [true, false, yes, no]\n\nProperty : cacheResultSetMetadata\nRequired : false\nValue : false\nDescription : Should the driver cache ResultSetMetaData for Statements and PreparedStatements? (Req. JDK-1.4+, true\/false, default 'false')\nChoices : [true, false, yes, no]\n\nProperty : cacheServerConfiguration\nRequired : false\nValue : false\nDescription : Should the driver cache the results of 'SHOW VARIABLES' and 'SHOW COLLATION' on a per-URL basis?\nChoices : [true, false, yes, no]\n\nProperty : callableStmtCacheSize\nRequired : false\nValue : 100\nDescription : If 'cacheCallableStmts' is enabled, how many callable statements should be cached?\nChoices : null\n\nProperty : capitalizeTypeNames\nRequired : false\nValue : true\nDescription : Capitalize type names in DatabaseMetaData? (usually only useful when using WebObjects, true\/false, defaults to 'false')\nChoices : [true, false, yes, no]\n\nProperty : characterEncoding\nRequired : false\nValue : null\nDescription : If 'useUnicode' is set to true, what character encoding should the driver use when dealing with strings? (defaults is to 'autodetect')\nChoices : null\n\nProperty : characterSetResults\nRequired : false\nValue : null\nDescription : Character set to tell the server to return results as.\nChoices : null\n\nProperty : clientInfoProvider\nRequired : false\nValue : com.mysql.jdbc.JDBC4CommentClientInfoProvider\nDescription : The name of a class that implements the com.mysql.jdbc.JDBC4ClientInfoProvider interface in order to support JDBC-4.0's Connection.get\/setClientInfo() methods\nChoices : null\n\nProperty : clobberStreamingResults\nRequired : false\nValue : false\nDescription : This will cause a 'streaming' ResultSet to be automatically closed, and any outstanding data still streaming from the server to be discarded if another query is executed before all the data has been read from the server.\nChoices : [true, false, yes, no]\n\nProperty : clobCharacterEncoding\nRequired : false\nValue : null\nDescription : The character encoding to use for sending and retrieving TEXT, MEDIUMTEXT and LONGTEXT values instead of the configured connection characterEncoding\nChoices : null\n\nProperty : compensateOnDuplicateKeyUpdateCounts\nRequired : false\nValue : false\nDescription : Should the driver compensate for the update counts of \"ON DUPLICATE KEY\" INSERT statements (2 = 1, 0 = 1) when using prepared statements?\nChoices : [true, false, yes, no]\n\nProperty : connectionCollation\nRequired : false\nValue : null\nDescription : If set, tells the server to use this collation via 'set collation_connection'\nChoices : null\n\nProperty : connectionLifecycleInterceptors\nRequired : false\nValue : null\nDescription : A comma-delimited list of classes that implement \"com.mysql.jdbc.ConnectionLifecycleInterceptor\" that should notified of connection lifecycle events (creation, destruction, commit, rollback, setCatalog and setAutoCommit) and potentially alter the execution of these commands. ConnectionLifecycleInterceptors are \"stackable\", more than one interceptor may be specified via the configuration property as a comma-delimited list, with the interceptors executed in order from left to right.\nChoices : null\n\nProperty : connectTimeout\nRequired : false\nValue : 0\nDescription : Timeout for socket connect (in milliseconds), with 0 being no timeout. Only works on JDK-1.4 or newer. Defaults to '0'.\nChoices : null\n\nProperty : continueBatchOnError\nRequired : false\nValue : true\nDescription : Should the driver continue processing batch commands if one statement fails. The JDBC spec allows either way (defaults to 'true').\nChoices : [true, false, yes, no]\n\nProperty : createDatabaseIfNotExist\nRequired : false\nValue : false\nDescription : Creates the database given in the URL if it doesn't yet exist. Assumes the configured user has permissions to create databases.\nChoices : [true, false, yes, no]\n\nProperty : defaultFetchSize\nRequired : false\nValue : 0\nDescription : The driver will call setFetchSize(n) with this value on all newly-created Statements\nChoices : null\n\nProperty : useServerPrepStmts\nRequired : false\nValue : false\nDescription : Use server-side prepared statements if the server supports them?\nChoices : [true, false, yes, no]\n\nProperty : dontTrackOpenResources\nRequired : false\nValue : false\nDescription : The JDBC specification requires the driver to automatically track and close resources, however if your application doesn't do a good job of explicitly calling close() on statements or result sets, this can cause memory leakage. Setting this property to true relaxes this constraint, and can be more memory efficient for some applications.\nChoices : [true, false, yes, no]\n\nProperty : dumpQueriesOnException\nRequired : false\nValue : false\nDescription : Should the driver dump the contents of the query sent to the server in the message for SQLExceptions?\nChoices : [true, false, yes, no]\n\nProperty : dynamicCalendars\nRequired : false\nValue : false\nDescription : Should the driver retrieve the default calendar when required, or cache it per connection\/session?\nChoices : [true, false, yes, no]\n\nProperty : elideSetAutoCommits\nRequired : false\nValue : false\nDescription : If using MySQL-4.1 or newer, should the driver only issue 'set autocommit=n' queries when the server's state doesn't match the requested state by Connection.setAutoCommit(boolean)?\nChoices : [true, false, yes, no]\n\nProperty : emptyStringsConvertToZero\nRequired : false\nValue : true\nDescription : Should the driver allow conversions from empty string fields to numeric values of '0'?\nChoices : [true, false, yes, no]\n\nProperty : emulateLocators\nRequired : false\nValue : false\nDescription : Should the driver emulate java.sql.Blobs with locators? With this feature enabled, the driver will delay loading the actual Blob data until the one of the retrieval methods (getInputStream(), getBytes(), and so forth) on the blob data stream has been accessed. For this to work, you must use a column alias with the value of the column to the actual name of the Blob. The feature also has the following restrictions: The SELECT that created the result set must reference only one table, the table must have a primary key; the SELECT must alias the original blob column name, specified as a string, to an alternate name; the SELECT must cover all columns that make up the primary key. \nChoices : [true, false, yes, no]\n\nProperty : emulateUnsupportedPstmts\nRequired : false\nValue : true\nDescription : Should the driver detect prepared statements that are not supported by the server, and replace them with client-side emulated versions?\nChoices : [true, false, yes, no]\n\nProperty : enablePacketDebug\nRequired : false\nValue : false\nDescription : When enabled, a ring-buffer of 'packetDebugBufferSize' packets will be kept, and dumped when exceptions are thrown in key areas in the driver's code\nChoices : [true, false, yes, no]\n\nProperty : enableQueryTimeouts\nRequired : false\nValue : true\nDescription : When enabled, query timeouts set via Statement.setQueryTimeout() use a shared java.util.Timer instance for scheduling. Even if the timeout doesn't expire before the query is processed, there will be memory used by the TimerTask for the given timeout which won't be reclaimed until the time the timeout would have expired if it hadn't been cancelled by the driver. High-load environments might want to consider disabling this functionality.\nChoices : [true, false, yes, no]\n\nProperty : explainSlowQueries\nRequired : false\nValue : false\nDescription : If 'logSlowQueries' is enabled, should the driver automatically issue an 'EXPLAIN' on the server and send the results to the configured log at a WARN level?\nChoices : [true, false, yes, no]\n\nProperty : exceptionInterceptors\nRequired : false\nValue : null\nDescription : Comma-delimited list of classes that implement com.mysql.jdbc.ExceptionInterceptor. These classes will be instantiated one per Connection instance, and all SQLExceptions thrown by the driver will be allowed to be intercepted by these interceptors, in a chained fashion, with the first class listed as the head of the chain.\nChoices : null\n\nProperty : failOverReadOnly\nRequired : false\nValue : true\nDescription : When failing over in autoReconnect mode, should the connection be set to 'read-only'?\nChoices : [true, false, yes, no]\n\nProperty : gatherPerfMetrics\nRequired : false\nValue : false\nDescription : Should the driver gather performance metrics, and report them via the configured logger every 'reportMetricsIntervalMillis' milliseconds?\nChoices : [true, false, yes, no]\n\nProperty : generateSimpleParameterMetadata\nRequired : false\nValue : false\nDescription : Should the driver generate simplified parameter metadata for PreparedStatements when no metadata is available either because the server couldn't support preparing the statement, or server-side prepared statements are disabled?\nChoices : [true, false, yes, no]\n\nProperty : holdResultsOpenOverStatementClose\nRequired : false\nValue : false\nDescription : Should the driver close result sets on Statement.close() as required by the JDBC specification?\nChoices : [true, false, yes, no]\n\nProperty : includeInnodbStatusInDeadlockExceptions\nRequired : false\nValue : false\nDescription : Include the output of \"SHOW ENGINE INNODB STATUS\" in exception messages when deadlock exceptions are detected?\nChoices : [true, false, yes, no]\n\nProperty : includeThreadDumpInDeadlockExceptions\nRequired : false\nValue : false\nDescription : Include a current Java thread dump in exception messages when deadlock exceptions are detected?\nChoices : [true, false, yes, no]\n\nProperty : includeThreadNamesAsStatementComment\nRequired : false\nValue : false\nDescription : Include the name of the current thread as a comment visible in \"SHOW PROCESSLIST\", or in Innodb deadlock dumps, useful in correlation with \"includeInnodbStatusInDeadlockExceptions=true\" and \"includeThreadDumpInDeadlockExceptions=true\". \nChoices : [true, false, yes, no]\n\nProperty : ignoreNonTxTables\nRequired : false\nValue : false\nDescription : Ignore non-transactional table warning for rollback? (defaults to 'false').\nChoices : [true, false, yes, no]\n\nProperty : initialTimeout\nRequired : false\nValue : 2\nDescription : If autoReconnect is enabled, the initial time to wait between re-connect attempts (in seconds, defaults to '2').\nChoices : null\n\nProperty : interactiveClient\nRequired : false\nValue : false\nDescription : Set the CLIENT_INTERACTIVE flag, which tells MySQL to timeout connections based on INTERACTIVE_TIMEOUT instead of WAIT_TIMEOUT\nChoices : [true, false, yes, no]\n\nProperty : jdbcCompliantTruncation\nRequired : false\nValue : true\nDescription : Should the driver throw java.sql.DataTruncation exceptions when data is truncated as is required by the JDBC specification when connected to a server that supports warnings (MySQL 4.1.0 and newer)? This property has no effect if the server sql-mode includes STRICT_TRANS_TABLES.\nChoices : [true, false, yes, no]\n\nProperty : largeRowSizeThreshold\nRequired : false\nValue : 2048\nDescription : What size result set row should the JDBC driver consider \"large\", and thus use a more memory-efficient way of representing the row internally?\nChoices : null\n\nProperty : loadBalanceStrategy\nRequired : false\nValue : random\nDescription : If using a load-balanced connection to connect to SQL nodes in a MySQL Cluster\/NDB configuration (by using the URL prefix \"jdbc:mysql:loadbalance:\/\/\"), which load balancing algorithm should the driver use: (1) \"random\" - the driver will pick a random host for each request. This tends to work better than round-robin, as the randomness will somewhat account for spreading loads where requests vary in response time, while round-robin can sometimes lead to overloaded nodes if there are variations in response times across the workload. (2) \"bestResponseTime\" - the driver will route the request to the host that had the best response time for the previous transaction.\nChoices : null\n\nProperty : loadBalanceBlacklistTimeout\nRequired : false\nValue : 0\nDescription : Time in milliseconds between checks of servers which are unavailable.\nChoices : null\n\nProperty : loadBalancePingTimeout\nRequired : false\nValue : 0\nDescription : Time in milliseconds to wait for ping response from each of load-balanced physical connections when using load-balanced Connection.\nChoices : null\n\nProperty : loadBalanceValidateConnectionOnSwapServer\nRequired : false\nValue : false\nDescription : Should the load-balanced Connection explicitly check whether the connection is live when swapping to a new physical connection at commit\/rollback?\nChoices : [true, false, yes, no]\n\nProperty : loadBalanceConnectionGroup\nRequired : false\nValue : null\nDescription : Logical group of load-balanced connections within a classloader, used to manage different groups independently.  If not specified, live management of load-balanced connections is disabled.\nChoices : null\n\nProperty : loadBalanceExceptionChecker\nRequired : false\nValue : com.mysql.jdbc.StandardLoadBalanceExceptionChecker\nDescription : Fully-qualified class name of custom exception checker.  The class must implement com.mysql.jdbc.LoadBalanceExceptionChecker interface, and is used to inspect SQLExceptions and determine whether they should trigger fail-over to another host in a load-balanced deployment.\nChoices : null\n\nProperty : loadBalanceSQLStateFailover\nRequired : false\nValue : null\nDescription : Comma-delimited list of SQLState codes used by default load-balanced exception checker to determine whether a given SQLException should trigger failover.  The SQLState of a given SQLException is evaluated to determine whether it begins with any value in the comma-delimited list.\nChoices : null\n\nProperty : loadBalanceSQLExceptionSubclassFailover\nRequired : false\nValue : null\nDescription : Comma-delimited list of classes\/interfaces used by default load-balanced exception checker to determine whether a given SQLException should trigger failover.  The comparison is done using Class.isInstance(SQLException) using the thrown SQLException.\nChoices : null\n\nProperty : loadBalanceEnableJMX\nRequired : false\nValue : false\nDescription : Enables JMX-based management of load-balanced connection groups, including live addition\/removal of hosts from load-balancing pool.\nChoices : [true, false, yes, no]\n\nProperty : loadBalanceAutoCommitStatementRegex\nRequired : false\nValue : null\nDescription : When load-balancing is enabled for auto-commit statements (via loadBalanceAutoCommitStatementThreshold), the statement counter will only increment when the SQL matches the regular expression.  By default, every statement issued matches.\nChoices : null\n\nProperty : loadBalanceAutoCommitStatementThreshold\nRequired : false\nValue : 0\nDescription : When auto-commit is enabled, the number of statements which should be executed before triggering load-balancing to rebalance.  Default value of 0 causes load-balanced connections to only rebalance when exceptions are encountered, or auto-commit is disabled and transactions are explicitly committed or rolled back.\nChoices : null\n\nProperty : localSocketAddress\nRequired : false\nValue : null\nDescription : Hostname or IP address given to explicitly configure the interface that the driver will bind the client side of the TCP\/IP connection to when connecting.\nChoices : null\n\nProperty : locatorFetchBufferSize\nRequired : false\nValue : 1048576\nDescription : If 'emulateLocators' is configured to 'true', what size buffer should be used when fetching BLOB data for getBinaryInputStream?\nChoices : null\n\nProperty : logger\nRequired : false\nValue : com.mysql.jdbc.log.StandardLogger\nDescription : The name of a class that implements \"com.mysql.jdbc.log.Log\"  that will be used to log messages to. (default is \"com.mysql.jdbc.log.StandardLogger\", which logs to STDERR)\nChoices : null\n\nProperty : logSlowQueries\nRequired : false\nValue : false\nDescription : Should queries that take longer than 'slowQueryThresholdMillis' be logged?\nChoices : [true, false, yes, no]\n\nProperty : logXaCommands\nRequired : false\nValue : false\nDescription : Should the driver log XA commands sent by MysqlXaConnection to the server, at the DEBUG level of logging?\nChoices : [true, false, yes, no]\n\nProperty : maintainTimeStats\nRequired : false\nValue : true\nDescription : Should the driver maintain various internal timers to enable idle time calculations as well as more verbose error messages when the connection to the server fails? Setting this property to false removes at least two calls to System.getCurrentTimeMillis() per query.\nChoices : [true, false, yes, no]\n\nProperty : maxQuerySizeToLog\nRequired : false\nValue : 2048\nDescription : Controls the maximum length\/size of a query that will get logged when profiling or tracing\nChoices : null\n\nProperty : maxReconnects\nRequired : false\nValue : 3\nDescription : Maximum number of reconnects to attempt if autoReconnect is true, default is '3'.\nChoices : null\n\nProperty : retriesAllDown\nRequired : false\nValue : 120\nDescription : When using loadbalancing, the number of times the driver should cycle through available hosts, attempting to connect.  Between cycles, the driver will pause for 250ms if no servers are available.\nChoices : null\n\nProperty : maxRows\nRequired : false\nValue : -1\nDescription : The maximum number of rows to return (0, the default means return all rows).\nChoices : null\n\nProperty : metadataCacheSize\nRequired : false\nValue : 50\nDescription : The number of queries to cache ResultSetMetadata for if cacheResultSetMetaData is set to 'true' (default 50)\nChoices : null\n\nProperty : netTimeoutForStreamingResults\nRequired : false\nValue : 600\nDescription : What value should the driver automatically set the server setting 'net_write_timeout' to when the streaming result sets feature is in use? (value has unit of seconds, the value '0' means the driver will not try and adjust this value)\nChoices : null\n\nProperty : noAccessToProcedureBodies\nRequired : false\nValue : false\nDescription : When determining procedure parameter types for CallableStatements, and the connected user  can't access procedure bodies through \"SHOW CREATE PROCEDURE\" or select on mysql.proc  should the driver instead create basic metadata (all parameters reported as IN VARCHARs, but allowing registerOutParameter() to be called on them anyway) instead  of throwing an exception?\nChoices : [true, false, yes, no]\n\nProperty : noDatetimeStringSync\nRequired : false\nValue : false\nDescription : Don't ensure that ResultSet.getDatetimeType().toString().equals(ResultSet.getString())\nChoices : [true, false, yes, no]\n\nProperty : noTimezoneConversionForTimeType\nRequired : false\nValue : false\nDescription : Don't convert TIME values using the server timezone if 'useTimezone'='true'\nChoices : [true, false, yes, no]\n\nProperty : nullCatalogMeansCurrent\nRequired : false\nValue : true\nDescription : When DatabaseMetadataMethods ask for a 'catalog' parameter, does the value null mean use the current catalog? (this is not JDBC-compliant, but follows legacy behavior from earlier versions of the driver)\nChoices : [true, false, yes, no]\n\nProperty : nullNamePatternMatchesAll\nRequired : false\nValue : true\nDescription : Should DatabaseMetaData methods that accept *pattern parameters treat null the same as '%' (this is not JDBC-compliant, however older versions of the driver accepted this departure from the specification)\nChoices : [true, false, yes, no]\n\nProperty : packetDebugBufferSize\nRequired : false\nValue : 20\nDescription : The maximum number of packets to retain when 'enablePacketDebug' is true\nChoices : null\n\nProperty : padCharsWithSpace\nRequired : false\nValue : false\nDescription : If a result set column has the CHAR type and the value does not fill the amount of characters specified in the DDL for the column, should the driver pad the remaining characters with space (for ANSI compliance)?\nChoices : [true, false, yes, no]\n\nProperty : paranoid\nRequired : false\nValue : false\nDescription : Take measures to prevent exposure sensitive information in error messages and clear data structures holding sensitive data when possible? (defaults to 'false')\nChoices : [true, false, yes, no]\n\nProperty : pedantic\nRequired : false\nValue : false\nDescription : Follow the JDBC spec to the letter.\nChoices : [true, false, yes, no]\n\nProperty : pinGlobalTxToPhysicalConnection\nRequired : false\nValue : false\nDescription : When using XAConnections, should the driver ensure that operations on a given XID are always routed to the same physical connection? This allows the XAConnection to support \"XA START ... JOIN\" after \"XA END\" has been called\nChoices : [true, false, yes, no]\n\nProperty : populateInsertRowWithDefaultValues\nRequired : false\nValue : false\nDescription : When using ResultSets that are CONCUR_UPDATABLE, should the driver pre-populate the \"insert\" row with default values from the DDL for the table used in the query so those values are immediately available for ResultSet accessors? This functionality requires a call to the database for metadata each time a result set of this type is created. If disabled (the default), the default values will be populated by the an internal call to refreshRow() which pulls back default values and\/or values changed by triggers.\nChoices : [true, false, yes, no]\n\nProperty : prepStmtCacheSize\nRequired : false\nValue : 25\nDescription : If prepared statement caching is enabled, how many prepared statements should be cached?\nChoices : null\n\nProperty : prepStmtCacheSqlLimit\nRequired : false\nValue : 256\nDescription : If prepared statement caching is enabled, what's the largest SQL the driver will cache the parsing for?\nChoices : null\n\nProperty : processEscapeCodesForPrepStmts\nRequired : false\nValue : true\nDescription : Should the driver process escape codes in queries that are prepared?\nChoices : [true, false, yes, no]\n\nProperty : profilerEventHandler\nRequired : false\nValue : com.mysql.jdbc.profiler.LoggingProfilerEventHandler\nDescription : Name of a class that implements the interface com.mysql.jdbc.profiler.ProfilerEventHandler that will be used to handle profiling\/tracing events.\nChoices : null\n\nProperty : profileSql\nRequired : false\nValue : null\nDescription : Deprecated, use 'profileSQL' instead. Trace queries and their execution\/fetch times on STDERR (true\/false) defaults to 'false'\nChoices : null\n\nProperty : profileSQL\nRequired : false\nValue : false\nDescription : Trace queries and their execution\/fetch times to the configured logger (true\/false) defaults to 'false'\nChoices : [true, false, yes, no]\n\nProperty : propertiesTransform\nRequired : false\nValue : null\nDescription : An implementation of com.mysql.jdbc.ConnectionPropertiesTransform that the driver will use to modify URL properties passed to the driver before attempting a connection\nChoices : null\n\nProperty : queriesBeforeRetryMaster\nRequired : false\nValue : 50\nDescription : Number of queries to issue before falling back to master when failed over (when using multi-host failover). Whichever condition is met first, 'queriesBeforeRetryMaster' or 'secondsBeforeRetryMaster' will cause an attempt to be made to reconnect to the master. Defaults to 50.\nChoices : null\n\nProperty : queryTimeoutKillsConnection\nRequired : false\nValue : false\nDescription : If the timeout given in Statement.setQueryTimeout() expires, should the driver forcibly abort the Connection instead of attempting to abort the query?\nChoices : [true, false, yes, no]\n\nProperty : reconnectAtTxEnd\nRequired : false\nValue : false\nDescription : If autoReconnect is set to true, should the driver attempt reconnections at the end of every transaction?\nChoices : [true, false, yes, no]\n\nProperty : relaxAutoCommit\nRequired : false\nValue : false\nDescription : If the version of MySQL the driver connects to does not support transactions, still allow calls to commit(), rollback() and setAutoCommit() (true\/false, defaults to 'false')?\nChoices : [true, false, yes, no]\n\nProperty : reportMetricsIntervalMillis\nRequired : false\nValue : 30000\nDescription : If 'gatherPerfMetrics' is enabled, how often should they be logged (in ms)?\nChoices : null\n\nProperty : requireSSL\nRequired : false\nValue : false\nDescription : Require SSL connection if useSSL=true? (defaults to 'false').\nChoices : [true, false, yes, no]\n\nProperty : resourceId\nRequired : false\nValue : null\nDescription : A globally unique name that identifies the resource that this datasource or connection is connected to, used for XAResource.isSameRM() when the driver can't determine this value based on hostnames used in the URL\nChoices : null\n\nProperty : resultSetSizeThreshold\nRequired : false\nValue : 100\nDescription : If the usage advisor is enabled, how many rows should a result set contain before the driver warns that it is suspiciously large?\nChoices : null\n\nProperty : retainStatementAfterResultSetClose\nRequired : false\nValue : false\nDescription : Should the driver retain the Statement reference in a ResultSet after ResultSet.close() has been called. This is not JDBC-compliant after JDBC-4.0.\nChoices : [true, false, yes, no]\n\nProperty : rewriteBatchedStatements\nRequired : false\nValue : false\nDescription : Should the driver use multiqueries (irregardless of the setting of \"allowMultiQueries\") as well as rewriting of prepared statements for INSERT into multi-value inserts when executeBatch() is called? Notice that this has the potential for SQL injection if using plain java.sql.Statements and your code doesn't sanitize input correctly. Notice that for prepared statements, server-side prepared statements can not currently take advantage of this rewrite option, and that if you don't specify stream lengths when using PreparedStatement.set*Stream(), the driver won't be able to determine the optimum number of parameters per batch and you might receive an error from the driver that the resultant packet is too large. Statement.getGeneratedKeys() for these rewritten statements only works when the entire batch includes INSERT statements.\nChoices : [true, false, yes, no]\n\nProperty : rollbackOnPooledClose\nRequired : false\nValue : true\nDescription : Should the driver issue a rollback() when the logical connection in a pool is closed?\nChoices : [true, false, yes, no]\n\nProperty : roundRobinLoadBalance\nRequired : false\nValue : false\nDescription : When autoReconnect is enabled, and failoverReadonly is false, should we pick hosts to connect to on a round-robin basis?\nChoices : [true, false, yes, no]\n\nProperty : runningCTS13\nRequired : false\nValue : false\nDescription : Enables workarounds for bugs in Sun's JDBC compliance testsuite version 1.3\nChoices : [true, false, yes, no]\n\nProperty : secondsBeforeRetryMaster\nRequired : false\nValue : 30\nDescription : How long should the driver wait, when failed over, before attempting \nChoices : null\n\nProperty : selfDestructOnPingSecondsLifetime\nRequired : false\nValue : 0\nDescription : If set to a non-zero value, the driver will report close the connection and report failure when Connection.ping() or Connection.isValid(int) is called if the connnection's lifetime exceeds this value.\nChoices : null\n\nProperty : selfDestructOnPingMaxOperations\nRequired : false\nValue : 0\nDescription : =If set to a non-zero value, the driver will report close the connection and report failure when Connection.ping() or Connection.isValid(int) is called if the connnection's count of commands sent to the server exceeds this value.\nChoices : null\n\nProperty : serverTimezone\nRequired : false\nValue : null\nDescription : Override detection\/mapping of timezone. Used when timezone from server doesn't map to Java timezone\nChoices : null\n\nProperty : sessionVariables\nRequired : false\nValue : null\nDescription : A comma-separated list of name\/value pairs to be sent as SET SESSION ... to the server when the driver connects.\nChoices : null\n\nProperty : slowQueryThresholdMillis\nRequired : false\nValue : 2000\nDescription : If 'logSlowQueries' is enabled, how long should a query (in ms) before it is logged as 'slow'?\nChoices : null\n\nProperty : slowQueryThresholdNanos\nRequired : false\nValue : 0\nDescription : If 'useNanosForElapsedTime' is set to true, and this property is set to a non-zero value, the driver will use this threshold (in nanosecond units) to determine if a query was slow.\nChoices : null\n\nProperty : socketFactory\nRequired : false\nValue : com.mysql.jdbc.StandardSocketFactory\nDescription : The name of the class that the driver should use for creating socket connections to the server. This class must implement the interface 'com.mysql.jdbc.SocketFactory' and have public no-args constructor.\nChoices : null\n\nProperty : socketTimeout\nRequired : false\nValue : 0\nDescription : Timeout on network socket operations (0, the default means no timeout).\nChoices : null\n\nProperty : statementInterceptors\nRequired : false\nValue : null\nDescription : A comma-delimited list of classes that implement \"com.mysql.jdbc.StatementInterceptor\" that should be placed \"in between\" query execution to influence the results. StatementInterceptors are \"chainable\", the results returned by the \"current\" interceptor will be passed on to the next in in the chain, from left-to-right order, as specified in this property. \nChoices : null\n\nProperty : strictFloatingPoint\nRequired : false\nValue : false\nDescription : Used only in older versions of compliance test\nChoices : [true, false, yes, no]\n\nProperty : strictUpdates\nRequired : false\nValue : true\nDescription : Should the driver do strict checking (all primary keys selected) of updatable result sets (true, false, defaults to 'true')?\nChoices : [true, false, yes, no]\n\nProperty : overrideSupportsIntegrityEnhancementFacility\nRequired : false\nValue : false\nDescription : Should the driver return \"true\" for DatabaseMetaData.supportsIntegrityEnhancementFacility() even if the database doesn't support it to workaround applications that require this method to return \"true\" to signal support of foreign keys, even though the SQL specification states that this facility contains much more than just foreign key support (one such application being OpenOffice)?\nChoices : [true, false, yes, no]\n\nProperty : tcpNoDelay\nRequired : false\nValue : true\nDescription : If connecting using TCP\/IP, should the driver set SO_TCP_NODELAY (disabling the Nagle Algorithm)?\nChoices : [true, false, yes, no]\n\nProperty : tcpKeepAlive\nRequired : false\nValue : true\nDescription : If connecting using TCP\/IP, should the driver set SO_KEEPALIVE?\nChoices : [true, false, yes, no]\n\nProperty : tcpRcvBuf\nRequired : false\nValue : 0\nDescription : If connecting using TCP\/IP, should the driver set SO_RCV_BUF to the given value? The default value of '0', means use the platform default value for this property)\nChoices : null\n\nProperty : tcpSndBuf\nRequired : false\nValue : 0\nDescription : If connecting using TCP\/IP, should the driver set SO_SND_BUF to the given value? The default value of '0', means use the platform default value for this property)\nChoices : null\n\nProperty : tcpTrafficClass\nRequired : false\nValue : 0\nDescription : If connecting using TCP\/IP, should the driver set traffic class or type-of-service fields ?See the documentation for java.net.Socket.setTrafficClass() for more information.\nChoices : null\n\nProperty : tinyInt1isBit\nRequired : false\nValue : true\nDescription : Should the driver treat the datatype TINYINT(1) as the BIT type (because the server silently converts BIT -&gt; TINYINT(1) when creating tables)?\nChoices : [true, false, yes, no]\n\nProperty : traceProtocol\nRequired : false\nValue : false\nDescription : Should trace-level network protocol be logged?\nChoices : [true, false, yes, no]\n\nProperty : treatUtilDateAsTimestamp\nRequired : false\nValue : true\nDescription : Should the driver treat java.util.Date as a TIMESTAMP for the purposes of PreparedStatement.setObject()?\nChoices : [true, false, yes, no]\n\nProperty : transformedBitIsBoolean\nRequired : false\nValue : false\nDescription : If the driver converts TINYINT(1) to a different type, should it use BOOLEAN instead of BIT for future compatibility with MySQL-5.0, as MySQL-5.0 has a BIT type?\nChoices : [true, false, yes, no]\n\nProperty : useBlobToStoreUTF8OutsideBMP\nRequired : false\nValue : false\nDescription : Tells the driver to treat [MEDIUM\/LONG]BLOB columns as [LONG]VARCHAR columns holding text encoded in UTF-8 that has characters outside the BMP (4-byte encodings), which MySQL server can't handle natively.\nChoices : [true, false, yes, no]\n\nProperty : utf8OutsideBmpExcludedColumnNamePattern\nRequired : false\nValue : null\nDescription : When \"useBlobToStoreUTF8OutsideBMP\" is set to \"true\", column names matching the given regex will still be treated as BLOBs unless they match the regex specified for \"utf8OutsideBmpIncludedColumnNamePattern\". The regex must follow the patterns used for the java.util.regex package.\nChoices : null\n\nProperty : utf8OutsideBmpIncludedColumnNamePattern\nRequired : false\nValue : null\nDescription : Used to specify exclusion rules to \"utf8OutsideBmpExcludedColumnNamePattern\". The regex must follow the patterns used for the java.util.regex package.\nChoices : null\n\nProperty : useCompression\nRequired : false\nValue : false\nDescription : Use zlib compression when communicating with the server (true\/false)? Defaults to 'false'.\nChoices : [true, false, yes, no]\n\nProperty : useColumnNamesInFindColumn\nRequired : false\nValue : false\nDescription : Prior to JDBC-4.0, the JDBC specification had a bug related to what could be given as a \"column name\" to ResultSet methods like findColumn(), or getters that took a String property. JDBC-4.0 clarified \"column name\" to mean the label, as given in an \"AS\" clause and returned by ResultSetMetaData.getColumnLabel(), and if no AS clause, the column name. Setting this property to \"true\" will give behavior that is congruent to JDBC-3.0 and earlier versions of the JDBC specification, but which because of the specification bug could give unexpected results. This property is preferred over \"useOldAliasMetadataBehavior\" unless you need the specific behavior that it provides with respect to ResultSetMetadata.\nChoices : [true, false, yes, no]\n\nProperty : useConfigs\nRequired : false\nValue : null\nDescription : Load the comma-delimited list of configuration properties before parsing the URL or applying user-specified properties. These configurations are explained in the 'Configurations' of the documentation.\nChoices : null\n\nProperty : useCursorFetch\nRequired : false\nValue : false\nDescription : If connected to MySQL &gt; 5.0.2, and setFetchSize() &gt; 0 on a statement, should that statement use cursor-based fetching to retrieve rows?\nChoices : [true, false, yes, no]\n\nProperty : useDynamicCharsetInfo\nRequired : false\nValue : true\nDescription : Should the driver use a per-connection cache of character set information queried from the server when necessary, or use a built-in static mapping that is more efficient, but isn't aware of custom character sets or character sets implemented after the release of the JDBC driver?\nChoices : [true, false, yes, no]\n\nProperty : useDirectRowUnpack\nRequired : false\nValue : true\nDescription : Use newer result set row unpacking code that skips a copy from network buffers  to a MySQL packet instance and instead reads directly into the result set row data buffers.\nChoices : [true, false, yes, no]\n\nProperty : useFastIntParsing\nRequired : false\nValue : true\nDescription : Use internal String-&gt;Integer conversion routines to avoid excessive object creation?\nChoices : [true, false, yes, no]\n\nProperty : useFastDateParsing\nRequired : false\nValue : true\nDescription : Use internal String-&gt;Date\/Time\/Timestamp conversion routines to avoid excessive object creation?\nChoices : [true, false, yes, no]\n\nProperty : useHostsInPrivileges\nRequired : false\nValue : true\nDescription : Add '@hostname' to users in DatabaseMetaData.getColumn\/TablePrivileges() (true\/false), defaults to 'true'.\nChoices : [true, false, yes, no]\n\nProperty : useInformationSchema\nRequired : false\nValue : false\nDescription : When connected to MySQL-5.0.7 or newer, should the driver use the INFORMATION_SCHEMA to derive information used by DatabaseMetaData?\nChoices : [true, false, yes, no]\n\nProperty : useJDBCCompliantTimezoneShift\nRequired : false\nValue : false\nDescription : Should the driver use JDBC-compliant rules when converting TIME\/TIMESTAMP\/DATETIME values' timezone information for those JDBC arguments which take a java.util.Calendar argument? (Notice that this option is exclusive of the \"useTimezone=true\" configuration option.)\nChoices : [true, false, yes, no]\n\nProperty : useLocalSessionState\nRequired : false\nValue : false\nDescription : Should the driver refer to the internal values of autocommit and transaction isolation that are set by Connection.setAutoCommit() and Connection.setTransactionIsolation() and transaction state as maintained by the protocol, rather than querying the database or blindly sending commands to the database for commit() or rollback() method calls?\nChoices : [true, false, yes, no]\n\nProperty : useLocalTransactionState\nRequired : false\nValue : false\nDescription : Should the driver use the in-transaction state provided by the MySQL protocol to determine if a commit() or rollback() should actually be sent to the database?\nChoices : [true, false, yes, no]\n\nProperty : useLegacyDatetimeCode\nRequired : false\nValue : true\nDescription : Use code for DATE\/TIME\/DATETIME\/TIMESTAMP handling in result sets and statements that consistently handles timezone conversions from client to server and back again, or use the legacy code for these datatypes that has been in the driver for backwards-compatibility?\nChoices : [true, false, yes, no]\n\nProperty : useNanosForElapsedTime\nRequired : false\nValue : false\nDescription : For profiling\/debugging functionality that measures elapsed time, should the driver try to use nanoseconds resolution if available (JDK &gt;= 1.5)?\nChoices : [true, false, yes, no]\n\nProperty : useOldAliasMetadataBehavior\nRequired : false\nValue : false\nDescription : Should the driver use the legacy behavior for \"AS\" clauses on columns and tables, and only return aliases (if any) for ResultSetMetaData.getColumnName() or ResultSetMetaData.getTableName() rather than the original column\/table name? In 5.0.x, the default value was true.\nChoices : [true, false, yes, no]\n\nProperty : useOldUTF8Behavior\nRequired : false\nValue : false\nDescription : Use the UTF-8 behavior the driver did when communicating with 4.0 and older servers\nChoices : [true, false, yes, no]\n\nProperty : useOnlyServerErrorMessages\nRequired : false\nValue : true\nDescription : Don't prepend 'standard' SQLState error messages to error messages returned by the server.\nChoices : [true, false, yes, no]\n\nProperty : useReadAheadInput\nRequired : false\nValue : true\nDescription : Use newer, optimized non-blocking, buffered input stream when reading from the server?\nChoices : [true, false, yes, no]\n\nProperty : useSqlStateCodes\nRequired : false\nValue : true\nDescription : Use SQL Standard state codes instead of 'legacy' X\/Open\/SQL state codes (true\/false), default is 'true'\nChoices : [true, false, yes, no]\n\nProperty : useSSL\nRequired : false\nValue : false\nDescription : Use SSL when communicating with the server (true\/false), defaults to 'false'\nChoices : [true, false, yes, no]\n\nProperty : useSSPSCompatibleTimezoneShift\nRequired : false\nValue : false\nDescription : If migrating from an environment that was using server-side prepared statements, and the configuration property \"useJDBCCompliantTimeZoneShift\" set to \"true\", use compatible behavior when not using server-side prepared statements when sending TIMESTAMP values to the MySQL server.\nChoices : [true, false, yes, no]\n\nProperty : useStreamLengthsInPrepStmts\nRequired : false\nValue : true\nDescription : Honor stream length parameter in PreparedStatement\/ResultSet.setXXXStream() method calls (true\/false, defaults to 'true')?\nChoices : [true, false, yes, no]\n\nProperty : useTimezone\nRequired : false\nValue : false\nDescription : Convert time\/date types between client and server timezones (true\/false, defaults to 'false')?\nChoices : [true, false, yes, no]\n\nProperty : ultraDevHack\nRequired : false\nValue : false\nDescription : Create PreparedStatements for prepareCall() when required, because UltraDev is broken and issues a prepareCall() for _all_ statements? (true\/false, defaults to 'false')\nChoices : [true, false, yes, no]\n\nProperty : useUnbufferedInput\nRequired : false\nValue : true\nDescription : Don't use BufferedInputStream for reading data from the server\nChoices : [true, false, yes, no]\n\nProperty : useUnicode\nRequired : false\nValue : true\nDescription : Should the driver use Unicode character encodings when handling strings? Should only be used when the driver can't determine the character set mapping, or you are trying to 'force' the driver to use a character set that MySQL either doesn't natively support (such as UTF-8), true\/false, defaults to 'true'\nChoices : [true, false, yes, no]\n\nProperty : useUsageAdvisor\nRequired : false\nValue : false\nDescription : Should the driver issue 'usage' warnings advising proper and efficient usage of JDBC and MySQL Connector\/J to the log (true\/false, defaults to 'false')?\nChoices : [true, false, yes, no]\n\nProperty : yearIsDateType\nRequired : false\nValue : true\nDescription : Should the JDBC driver treat the MySQL type \"YEAR\" as a java.sql.Date, or as a SHORT?\nChoices : [true, false, yes, no]\n\nProperty : zeroDateTimeBehavior\nRequired : false\nValue : exception\nDescription : What should happen when the driver encounters DATETIME values that are composed entirely of zeros (used by MySQL to represent invalid dates)? Valid values are \"exception\", \"round\" and \"convertToNull\".\nChoices : [exception, round, convertToNull]\n\nProperty : useJvmCharsetConverters\nRequired : false\nValue : false\nDescription : Always use the character encoding routines built into the JVM, rather than using lookup tables for single-byte character sets?\nChoices : [true, false, yes, no]\n\nProperty : useGmtMillisForDatetimes\nRequired : false\nValue : false\nDescription : Convert between session timezone and GMT before creating Date and Timestamp instances (value of \"false\" is legacy behavior, \"true\" leads to more JDBC-compliant behavior.\nChoices : [true, false, yes, no]\n\nProperty : dumpMetadataOnColumnNotFound\nRequired : false\nValue : false\nDescription : Should the driver dump the field-level metadata of a result set into the exception message when ResultSet.findColumn() fails?\nChoices : [true, false, yes, no]\n\nProperty : clientCertificateKeyStoreUrl\nRequired : false\nValue : null\nDescription : URL to the client certificate KeyStore (if not specified, use defaults)\nChoices : null\n\nProperty : trustCertificateKeyStoreUrl\nRequired : false\nValue : null\nDescription : URL to the trusted root certificate KeyStore (if not specified, use defaults)\nChoices : null\n\nProperty : clientCertificateKeyStoreType\nRequired : false\nValue : JKS\nDescription : KeyStore type for client certificates (NULL or empty means use the default, which is \"JKS\". Standard keystore types supported by the JVM are \"JKS\" and \"PKCS12\", your environment may have more available depending on what security products are installed and available to the JVM.\nChoices : null\n\nProperty : clientCertificateKeyStorePassword\nRequired : false\nValue : null\nDescription : Password for the client certificates KeyStore\nChoices : null\n\nProperty : trustCertificateKeyStoreType\nRequired : false\nValue : JKS\nDescription : KeyStore type for trusted root certificates (NULL or empty means use the default, which is \"JKS\". Standard keystore types supported by the JVM are \"JKS\" and \"PKCS12\", your environment may have more available depending on what security products are installed and available to the JVM.\nChoices : null\n\nProperty : trustCertificateKeyStorePassword\nRequired : false\nValue : null\nDescription : Password for the trusted root certificates KeyStore\nChoices : null\n\nProperty : verifyServerCertificate\nRequired : false\nValue : true\nDescription : If \"useSSL\" is set to \"true\", should the driver verify the server's certificate? When using this feature, the keystore parameters should be specified by the \"clientCertificateKeyStore*\" properties, rather than system properties.\nChoices : [true, false, yes, no]\n\nProperty : useAffectedRows\nRequired : false\nValue : false\nDescription : Don't set the CLIENT_FOUND_ROWS flag when connecting to the server (not JDBC-compliant, will break most applications that rely on \"found\" rows vs. \"affected rows\" for DML statements), but does cause \"correct\" update counts from \"INSERT ... ON DUPLICATE KEY UPDATE\" statements to be returned by the server.\nChoices : [true, false, yes, no]\n\nProperty : passwordCharacterEncoding\nRequired : false\nValue : null\nDescription : What character encoding is used for passwords? Leaving this set to the default value (null), uses the platform character set, which works for ISO8859_1 (i.e. \"latin1\") passwords. For passwords in other character encodings, the encoding will have to be specified with this property, as it's not possible for the driver to auto-detect this.\nChoices : null\n\nProperty : maxAllowedPacket\nRequired : false\nValue : -1\nDescription : Maximum allowed packet size to send to server. If not set, the value of system variable 'max_allowed_packet' will be used to initialize this upon connecting. This value will not take effect if set larger than the value of 'max_allowed_packet'.\nChoices : null<\/code>\n<\/pre>\n<p>&nbsp;<br \/>\nThis was an example of how to get the JDBC Connection parameters in Java.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div>[ulp id=&#8217;TD36VgQCKfhTAygK&#8217;]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>With this example we are going to demonstrate how to get the JDBC Connection parameters. In short, to get the JDBC Connection parameters you should: Load the MySQL JDBC driver, using the forName(String className) API method of the Class. Get the Driver Instance. Invoke the getDriver(String url) of the DriverManager, using the database URL. Get &hellip;<\/p>\n","protected":false},"author":7,"featured_media":1204,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[53],"tags":[189,1055],"class_list":["post-492","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sql","tag-core-java-2","tag-sql"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Get JDBC Connection parameters - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"With this example we are going to demonstrate how to get the JDBC Connection parameters. In short, to get the JDBC Connection parameters you should: Load\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Get JDBC Connection parameters - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"With this example we are going to demonstrate how to get the JDBC Connection parameters. In short, to get the JDBC Connection parameters you should: Load\" \/>\n<meta property=\"og:url\" content=\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/\" \/>\n<meta property=\"og:site_name\" content=\"Examples Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2012-11-11T19:28:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-03-05T11:10:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ilias Tsagklis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ilias Tsagklis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"35 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/\"},\"author\":{\"name\":\"Ilias Tsagklis\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/ca18b1aa108e3bfadf717e563e0a7a6e\"},\"headline\":\"Get JDBC Connection parameters\",\"datePublished\":\"2012-11-11T19:28:39+00:00\",\"dateModified\":\"2019-03-05T11:10:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/\"},\"wordCount\":124,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\",\"keywords\":[\"core java\",\"sql\"],\"articleSection\":[\"sql\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/\",\"name\":\"Get JDBC Connection parameters - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\",\"datePublished\":\"2012-11-11T19:28:39+00:00\",\"dateModified\":\"2019-03-05T11:10:45+00:00\",\"description\":\"With this example we are going to demonstrate how to get the JDBC Connection parameters. In short, to get the JDBC Connection parameters you should: Load\",\"breadcrumb\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/#primaryimage\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\",\"width\":150,\"height\":150,\"caption\":\"Bipartite Graph\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/examples.javacodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java Development\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Core Java\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"sql\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/sql\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Get JDBC Connection parameters\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#website\",\"url\":\"https:\/\/examples.javacodegeeks.com\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Examples and Code Snippets\",\"publisher\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/examples.javacodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/examples.javacodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/javacodegeeks\",\"https:\/\/x.com\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/ca18b1aa108e3bfadf717e563e0a7a6e\",\"name\":\"Ilias Tsagklis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/01\/Ilias-Tsagklis_avatar_1454249217-96x96.jpg\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/01\/Ilias-Tsagklis_avatar_1454249217-96x96.jpg\",\"caption\":\"Ilias Tsagklis\"},\"description\":\"Ilias is a software developer turned online entrepreneur. He is co-founder and Executive Editor at Java Code Geeks.\",\"sameAs\":[\"http:\/\/www.iliastsagklis.com\/\",\"https:\/\/www.linkedin.com\/in\/iliastsagklis\"],\"url\":\"https:\/\/examples.javacodegeeks.com\/author\/ilias-tsagklis\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Get JDBC Connection parameters - Java Code Geeks","description":"With this example we are going to demonstrate how to get the JDBC Connection parameters. In short, to get the JDBC Connection parameters you should: Load","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/","og_locale":"en_US","og_type":"article","og_title":"Get JDBC Connection parameters - Java Code Geeks","og_description":"With this example we are going to demonstrate how to get the JDBC Connection parameters. In short, to get the JDBC Connection parameters you should: Load","og_url":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/","og_site_name":"Examples Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2012-11-11T19:28:39+00:00","article_modified_time":"2019-03-05T11:10:45+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","type":"image\/jpeg"}],"author":"Ilias Tsagklis","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Ilias Tsagklis","Est. reading time":"35 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/#article","isPartOf":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/"},"author":{"name":"Ilias Tsagklis","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/ca18b1aa108e3bfadf717e563e0a7a6e"},"headline":"Get JDBC Connection parameters","datePublished":"2012-11-11T19:28:39+00:00","dateModified":"2019-03-05T11:10:45+00:00","mainEntityOfPage":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/"},"wordCount":124,"commentCount":0,"publisher":{"@id":"https:\/\/examples.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/#primaryimage"},"thumbnailUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","keywords":["core java","sql"],"articleSection":["sql"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/","url":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/","name":"Get JDBC Connection parameters - Java Code Geeks","isPartOf":{"@id":"https:\/\/examples.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/#primaryimage"},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/#primaryimage"},"thumbnailUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","datePublished":"2012-11-11T19:28:39+00:00","dateModified":"2019-03-05T11:10:45+00:00","description":"With this example we are going to demonstrate how to get the JDBC Connection parameters. In short, to get the JDBC Connection parameters you should: Load","breadcrumb":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/#primaryimage","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","width":150,"height":150,"caption":"Bipartite Graph"},{"@type":"BreadcrumbList","@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/sql\/get-jdbc-connection-parameters\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/examples.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java Development","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/"},{"@type":"ListItem","position":3,"name":"Core Java","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/"},{"@type":"ListItem","position":4,"name":"sql","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/sql\/"},{"@type":"ListItem","position":5,"name":"Get JDBC Connection parameters"}]},{"@type":"WebSite","@id":"https:\/\/examples.javacodegeeks.com\/#website","url":"https:\/\/examples.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Examples and Code Snippets","publisher":{"@id":"https:\/\/examples.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/examples.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/examples.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/examples.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/ca18b1aa108e3bfadf717e563e0a7a6e","name":"Ilias Tsagklis","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/01\/Ilias-Tsagklis_avatar_1454249217-96x96.jpg","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/01\/Ilias-Tsagklis_avatar_1454249217-96x96.jpg","caption":"Ilias Tsagklis"},"description":"Ilias is a software developer turned online entrepreneur. He is co-founder and Executive Editor at Java Code Geeks.","sameAs":["http:\/\/www.iliastsagklis.com\/","https:\/\/www.linkedin.com\/in\/iliastsagklis"],"url":"https:\/\/examples.javacodegeeks.com\/author\/ilias-tsagklis\/"}]}},"_links":{"self":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/492","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=492"}],"version-history":[{"count":0,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/492\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/media\/1204"}],"wp:attachment":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=492"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=492"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=492"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}