blob: 16e1a6ce959b58ce0e68fa58f04f39a14a3411e6 [file]
import{_ as n,c as a,b as l,o as e}from"./app-C1IcKGP3.js";const o={};function p(t,s){return e(),a("div",null,[...s[0]||(s[0]=[l(`<h1 id="jdbc" tabindex="-1"><a class="header-anchor" href="#jdbc"><span>JDBC</span></a></h1><p><strong>Note</strong>: The current JDBC implementation is only for connecting with third-party tools. We do not recommend using JDBC (when executing insert statements) as it cannot provide high-performance writing. For queries, we recommend using JDBC.<br> PLEASE USE <a href="https://iotdb.apache.org/UserGuide/Master/API/Programming-Java-Native-API.html" target="_blank" rel="noopener noreferrer">JAVA NATIVE API</a> INSTEAD*</p><h2 id="dependencies" tabindex="-1"><a class="header-anchor" href="#dependencies"><span>Dependencies</span></a></h2><ul><li>JDK &gt;= 1.8</li><li>Maven &gt;= 3.6</li></ul><h2 id="installation" tabindex="-1"><a class="header-anchor" href="#installation"><span>Installation</span></a></h2><p>In root directory:</p><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-shell"><span class="line"><span style="color:#61AFEF;">mvn</span><span style="color:#98C379;"> clean</span><span style="color:#98C379;"> install</span><span style="color:#D19A66;"> -pl</span><span style="color:#98C379;"> iotdb-client/jdbc</span><span style="color:#D19A66;"> -am</span><span style="color:#D19A66;"> -DskipTests</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h2 id="use-iotdb-jdbc-with-maven" tabindex="-1"><a class="header-anchor" href="#use-iotdb-jdbc-with-maven"><span>Use IoTDB JDBC with Maven</span></a></h2><div class="language-xml line-numbers-mode" data-highlighter="shiki" data-ext="xml" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-xml"><span class="line"><span style="color:#ABB2BF;">&lt;</span><span style="color:#E06C75;">dependencies</span><span style="color:#ABB2BF;">&gt;</span></span>
<span class="line"><span style="color:#ABB2BF;"> &lt;</span><span style="color:#E06C75;">dependency</span><span style="color:#ABB2BF;">&gt;</span></span>
<span class="line"><span style="color:#ABB2BF;"> &lt;</span><span style="color:#E06C75;">groupId</span><span style="color:#ABB2BF;">&gt;org.apache.iotdb&lt;/</span><span style="color:#E06C75;">groupId</span><span style="color:#ABB2BF;">&gt;</span></span>
<span class="line"><span style="color:#ABB2BF;"> &lt;</span><span style="color:#E06C75;">artifactId</span><span style="color:#ABB2BF;">&gt;iotdb-jdbc&lt;/</span><span style="color:#E06C75;">artifactId</span><span style="color:#ABB2BF;">&gt;</span></span>
<span class="line"><span style="color:#ABB2BF;"> &lt;</span><span style="color:#E06C75;">version</span><span style="color:#ABB2BF;">&gt;1.2.2&lt;/</span><span style="color:#E06C75;">version</span><span style="color:#ABB2BF;">&gt;</span></span>
<span class="line"><span style="color:#ABB2BF;"> &lt;/</span><span style="color:#E06C75;">dependency</span><span style="color:#ABB2BF;">&gt;</span></span>
<span class="line"><span style="color:#ABB2BF;">&lt;/</span><span style="color:#E06C75;">dependencies</span><span style="color:#ABB2BF;">&gt;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="coding-examples" tabindex="-1"><a class="header-anchor" href="#coding-examples"><span>Coding Examples</span></a></h2><p>This chapter provides an example of how to open a database connection, execute a SQL query, and display the results.</p><p>It requires including the packages containing the JDBC classes needed for database programming.</p><p><strong>NOTE: For faster insertion, the insertTablet() in Session is recommended.</strong></p><div class="language-java line-numbers-mode" data-highlighter="shiki" data-ext="java" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-java"><span class="line"><span style="color:#C678DD;">import</span><span style="color:#E5C07B;"> java.sql.*</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#C678DD;">import</span><span style="color:#E5C07B;"> org.apache.iotdb.jdbc.IoTDBSQLException</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#C678DD;">public</span><span style="color:#C678DD;"> class</span><span style="color:#E5C07B;"> JDBCExample</span><span style="color:#ABB2BF;"> {</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> * Before executing a SQL statement with a Statement object, you need to create a Statement object using the createStatement() method of the Connection object.</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> * After creating a Statement object, you can use its execute() method to execute a SQL statement</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> * Finally, remember to close the &#39;statement&#39; and &#39;connection&#39; objects by using their close() method</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> * For statements with query results, we can use the getResultSet() method of the Statement object to get the result set.</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span>
<span class="line"><span style="color:#C678DD;"> public</span><span style="color:#C678DD;"> static</span><span style="color:#C678DD;"> void</span><span style="color:#61AFEF;"> main</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">String</span><span style="color:#ABB2BF;">[] </span><span style="color:#E06C75;font-style:italic;">args</span><span style="color:#ABB2BF;">)</span><span style="color:#C678DD;"> throws</span><span style="color:#E5C07B;"> SQLException</span><span style="color:#ABB2BF;"> {</span></span>
<span class="line"><span style="color:#E5C07B;"> Connection</span><span style="color:#E06C75;"> connection</span><span style="color:#56B6C2;"> =</span><span style="color:#61AFEF;"> getConnection</span><span style="color:#ABB2BF;">();</span></span>
<span class="line"><span style="color:#C678DD;"> if</span><span style="color:#ABB2BF;"> (connection </span><span style="color:#56B6C2;">==</span><span style="color:#D19A66;"> null</span><span style="color:#ABB2BF;">) {</span></span>
<span class="line"><span style="color:#E5C07B;"> System</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">out</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">println</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;get connection defeat&quot;</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#C678DD;"> return</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#ABB2BF;"> }</span></span>
<span class="line"><span style="color:#E5C07B;"> Statement</span><span style="color:#E06C75;"> statement</span><span style="color:#56B6C2;"> =</span><span style="color:#E5C07B;"> connection</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">createStatement</span><span style="color:#ABB2BF;">();</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> //Create database</span></span>
<span class="line"><span style="color:#C678DD;"> try</span><span style="color:#ABB2BF;"> {</span></span>
<span class="line"><span style="color:#E5C07B;"> statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">execute</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;CREATE DATABASE root.demo&quot;</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#ABB2BF;"> }</span><span style="color:#C678DD;">catch</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">IoTDBSQLException</span><span style="color:#E06C75;font-style:italic;"> e</span><span style="color:#ABB2BF;">){</span></span>
<span class="line"><span style="color:#E5C07B;"> System</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">out</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">println</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">e</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getMessage</span><span style="color:#ABB2BF;">());</span></span>
<span class="line"><span style="color:#ABB2BF;"> }</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> //SHOW DATABASES</span></span>
<span class="line"><span style="color:#E5C07B;"> statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">execute</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;SHOW DATABASES&quot;</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#61AFEF;"> outputResult</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getResultSet</span><span style="color:#ABB2BF;">());</span></span>
<span class="line"></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> //Create time series</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> //Different data type has different encoding methods. Here use INT32 as an example</span></span>
<span class="line"><span style="color:#C678DD;"> try</span><span style="color:#ABB2BF;"> {</span></span>
<span class="line"><span style="color:#E5C07B;"> statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">execute</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;CREATE TIMESERIES root.demo.s0 WITH DATATYPE=INT32,ENCODING=RLE;&quot;</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#ABB2BF;"> }</span><span style="color:#C678DD;">catch</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">IoTDBSQLException</span><span style="color:#E06C75;font-style:italic;"> e</span><span style="color:#ABB2BF;">){</span></span>
<span class="line"><span style="color:#E5C07B;"> System</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">out</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">println</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">e</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getMessage</span><span style="color:#ABB2BF;">());</span></span>
<span class="line"><span style="color:#ABB2BF;"> }</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> //Show time series</span></span>
<span class="line"><span style="color:#E5C07B;"> statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">execute</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;SHOW TIMESERIES root.demo&quot;</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#61AFEF;"> outputResult</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getResultSet</span><span style="color:#ABB2BF;">());</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> //Show devices</span></span>
<span class="line"><span style="color:#E5C07B;"> statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">execute</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;SHOW DEVICES&quot;</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#61AFEF;"> outputResult</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getResultSet</span><span style="color:#ABB2BF;">());</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> //Count time series</span></span>
<span class="line"><span style="color:#E5C07B;"> statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">execute</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;COUNT TIMESERIES root&quot;</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#61AFEF;"> outputResult</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getResultSet</span><span style="color:#ABB2BF;">());</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> //Count nodes at the given level</span></span>
<span class="line"><span style="color:#E5C07B;"> statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">execute</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;COUNT NODES root LEVEL=3&quot;</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#61AFEF;"> outputResult</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getResultSet</span><span style="color:#ABB2BF;">());</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> //Count timeseries group by each node at the given level</span></span>
<span class="line"><span style="color:#E5C07B;"> statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">execute</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;COUNT TIMESERIES root GROUP BY LEVEL=3&quot;</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#61AFEF;"> outputResult</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getResultSet</span><span style="color:#ABB2BF;">());</span></span>
<span class="line"><span style="color:#ABB2BF;"> </span></span>
<span class="line"></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> //Execute insert statements in batch</span></span>
<span class="line"><span style="color:#E5C07B;"> statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">addBatch</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;insert into root.demo(timestamp,s0) values(1,1);&quot;</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#E5C07B;"> statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">addBatch</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;insert into root.demo(timestamp,s0) values(1,1);&quot;</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#E5C07B;"> statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">addBatch</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;insert into root.demo(timestamp,s0) values(2,15);&quot;</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#E5C07B;"> statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">addBatch</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;insert into root.demo(timestamp,s0) values(2,17);&quot;</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#E5C07B;"> statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">addBatch</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;insert into root.demo(timestamp,s0) values(4,12);&quot;</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#E5C07B;"> statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">executeBatch</span><span style="color:#ABB2BF;">();</span></span>
<span class="line"><span style="color:#E5C07B;"> statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">clearBatch</span><span style="color:#ABB2BF;">();</span></span>
<span class="line"></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> //Full query statement</span></span>
<span class="line"><span style="color:#E5C07B;"> String</span><span style="color:#E06C75;"> sql</span><span style="color:#56B6C2;"> =</span><span style="color:#98C379;"> &quot;select * from root.demo&quot;</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#E5C07B;"> ResultSet</span><span style="color:#E06C75;"> resultSet</span><span style="color:#56B6C2;"> =</span><span style="color:#E5C07B;"> statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">executeQuery</span><span style="color:#ABB2BF;">(sql);</span></span>
<span class="line"><span style="color:#E5C07B;"> System</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">out</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">println</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;sql: &quot;</span><span style="color:#56B6C2;"> +</span><span style="color:#ABB2BF;"> sql);</span></span>
<span class="line"><span style="color:#61AFEF;"> outputResult</span><span style="color:#ABB2BF;">(resultSet);</span></span>
<span class="line"></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> //Exact query statement</span></span>
<span class="line"><span style="color:#ABB2BF;"> sql </span><span style="color:#56B6C2;">=</span><span style="color:#98C379;"> &quot;select s0 from root.demo where time = 4;&quot;</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#ABB2BF;"> resultSet</span><span style="color:#56B6C2;">=</span><span style="color:#E5C07B;"> statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">executeQuery</span><span style="color:#ABB2BF;">(sql);</span></span>
<span class="line"><span style="color:#E5C07B;"> System</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">out</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">println</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;sql: &quot;</span><span style="color:#56B6C2;"> +</span><span style="color:#ABB2BF;"> sql);</span></span>
<span class="line"><span style="color:#61AFEF;"> outputResult</span><span style="color:#ABB2BF;">(resultSet);</span></span>
<span class="line"></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> //Time range query</span></span>
<span class="line"><span style="color:#ABB2BF;"> sql </span><span style="color:#56B6C2;">=</span><span style="color:#98C379;"> &quot;select s0 from root.demo where time &gt;= 2 and time &lt; 5;&quot;</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#ABB2BF;"> resultSet </span><span style="color:#56B6C2;">=</span><span style="color:#E5C07B;"> statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">executeQuery</span><span style="color:#ABB2BF;">(sql);</span></span>
<span class="line"><span style="color:#E5C07B;"> System</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">out</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">println</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;sql: &quot;</span><span style="color:#56B6C2;"> +</span><span style="color:#ABB2BF;"> sql);</span></span>
<span class="line"><span style="color:#61AFEF;"> outputResult</span><span style="color:#ABB2BF;">(resultSet);</span></span>
<span class="line"></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> //Aggregate query</span></span>
<span class="line"><span style="color:#ABB2BF;"> sql </span><span style="color:#56B6C2;">=</span><span style="color:#98C379;"> &quot;select count(s0) from root.demo;&quot;</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#ABB2BF;"> resultSet </span><span style="color:#56B6C2;">=</span><span style="color:#E5C07B;"> statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">executeQuery</span><span style="color:#ABB2BF;">(sql);</span></span>
<span class="line"><span style="color:#E5C07B;"> System</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">out</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">println</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;sql: &quot;</span><span style="color:#56B6C2;"> +</span><span style="color:#ABB2BF;"> sql);</span></span>
<span class="line"><span style="color:#61AFEF;"> outputResult</span><span style="color:#ABB2BF;">(resultSet);</span></span>
<span class="line"></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> //Delete time series</span></span>
<span class="line"><span style="color:#E5C07B;"> statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">execute</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;delete timeseries root.demo.s0&quot;</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> //close connection</span></span>
<span class="line"><span style="color:#E5C07B;"> statement</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">close</span><span style="color:#ABB2BF;">();</span></span>
<span class="line"><span style="color:#E5C07B;"> connection</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">close</span><span style="color:#ABB2BF;">();</span></span>
<span class="line"><span style="color:#ABB2BF;"> }</span></span>
<span class="line"></span>
<span class="line"><span style="color:#C678DD;"> public</span><span style="color:#C678DD;"> static</span><span style="color:#E5C07B;"> Connection</span><span style="color:#61AFEF;"> getConnection</span><span style="color:#ABB2BF;">()</span><span style="color:#ABB2BF;"> {</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> // JDBC driver name and database URL</span></span>
<span class="line"><span style="color:#E5C07B;"> String</span><span style="color:#E06C75;"> driver</span><span style="color:#56B6C2;"> =</span><span style="color:#98C379;"> &quot;org.apache.iotdb.jdbc.IoTDBDriver&quot;</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#E5C07B;"> String</span><span style="color:#E06C75;"> url</span><span style="color:#56B6C2;"> =</span><span style="color:#98C379;"> &quot;jdbc:iotdb://127.0.0.1:6667/&quot;</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> // set rpc compress mode</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> // String url = &quot;jdbc:iotdb://127.0.0.1:6667?rpc_compress=true&quot;;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> // Database credentials</span></span>
<span class="line"><span style="color:#E5C07B;"> String</span><span style="color:#E06C75;"> username</span><span style="color:#56B6C2;"> =</span><span style="color:#98C379;"> &quot;root&quot;</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#E5C07B;"> String</span><span style="color:#E06C75;"> password</span><span style="color:#56B6C2;"> =</span><span style="color:#98C379;"> &quot;root&quot;</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"></span>
<span class="line"><span style="color:#E5C07B;"> Connection</span><span style="color:#E06C75;"> connection</span><span style="color:#56B6C2;"> =</span><span style="color:#D19A66;"> null</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#C678DD;"> try</span><span style="color:#ABB2BF;"> {</span></span>
<span class="line"><span style="color:#E5C07B;"> Class</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">forName</span><span style="color:#ABB2BF;">(driver);</span></span>
<span class="line"><span style="color:#ABB2BF;"> connection </span><span style="color:#56B6C2;">=</span><span style="color:#E5C07B;"> DriverManager</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getConnection</span><span style="color:#ABB2BF;">(url, username, password);</span></span>
<span class="line"><span style="color:#ABB2BF;"> } </span><span style="color:#C678DD;">catch</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">ClassNotFoundException</span><span style="color:#E06C75;font-style:italic;"> e</span><span style="color:#ABB2BF;">) {</span></span>
<span class="line"><span style="color:#E5C07B;"> e</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">printStackTrace</span><span style="color:#ABB2BF;">();</span></span>
<span class="line"><span style="color:#ABB2BF;"> } </span><span style="color:#C678DD;">catch</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">SQLException</span><span style="color:#E06C75;font-style:italic;"> e</span><span style="color:#ABB2BF;">) {</span></span>
<span class="line"><span style="color:#E5C07B;"> e</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">printStackTrace</span><span style="color:#ABB2BF;">();</span></span>
<span class="line"><span style="color:#ABB2BF;"> }</span></span>
<span class="line"><span style="color:#C678DD;"> return</span><span style="color:#ABB2BF;"> connection;</span></span>
<span class="line"><span style="color:#ABB2BF;"> }</span></span>
<span class="line"></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> * This is an example of outputting the results in the ResultSet</span></span>
<span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span>
<span class="line"><span style="color:#C678DD;"> private</span><span style="color:#C678DD;"> static</span><span style="color:#C678DD;"> void</span><span style="color:#61AFEF;"> outputResult</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">ResultSet</span><span style="color:#E06C75;font-style:italic;"> resultSet</span><span style="color:#ABB2BF;">)</span><span style="color:#C678DD;"> throws</span><span style="color:#E5C07B;"> SQLException</span><span style="color:#ABB2BF;"> {</span></span>
<span class="line"><span style="color:#C678DD;"> if</span><span style="color:#ABB2BF;"> (resultSet </span><span style="color:#56B6C2;">!=</span><span style="color:#D19A66;"> null</span><span style="color:#ABB2BF;">) {</span></span>
<span class="line"><span style="color:#E5C07B;"> System</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">out</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">println</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;--------------------------&quot;</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#C678DD;"> final</span><span style="color:#E5C07B;"> ResultSetMetaData</span><span style="color:#E06C75;"> metaData</span><span style="color:#56B6C2;"> =</span><span style="color:#E5C07B;"> resultSet</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getMetaData</span><span style="color:#ABB2BF;">();</span></span>
<span class="line"><span style="color:#C678DD;"> final</span><span style="color:#C678DD;"> int</span><span style="color:#E06C75;"> columnCount</span><span style="color:#56B6C2;"> =</span><span style="color:#E5C07B;"> metaData</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getColumnCount</span><span style="color:#ABB2BF;">();</span></span>
<span class="line"><span style="color:#C678DD;"> for</span><span style="color:#ABB2BF;"> (</span><span style="color:#C678DD;">int</span><span style="color:#E06C75;"> i</span><span style="color:#56B6C2;"> =</span><span style="color:#D19A66;"> 0</span><span style="color:#ABB2BF;">; i </span><span style="color:#56B6C2;">&lt;</span><span style="color:#ABB2BF;"> columnCount; i++) {</span></span>
<span class="line"><span style="color:#E5C07B;"> System</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">out</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">print</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">metaData</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getColumnLabel</span><span style="color:#ABB2BF;">(i </span><span style="color:#56B6C2;">+</span><span style="color:#D19A66;"> 1</span><span style="color:#ABB2BF;">) </span><span style="color:#56B6C2;">+</span><span style="color:#98C379;"> &quot; &quot;</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#ABB2BF;"> }</span></span>
<span class="line"><span style="color:#E5C07B;"> System</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">out</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">println</span><span style="color:#ABB2BF;">();</span></span>
<span class="line"><span style="color:#C678DD;"> while</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">resultSet</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">next</span><span style="color:#ABB2BF;">()) {</span></span>
<span class="line"><span style="color:#C678DD;"> for</span><span style="color:#ABB2BF;"> (</span><span style="color:#C678DD;">int</span><span style="color:#E06C75;"> i</span><span style="color:#56B6C2;"> =</span><span style="color:#D19A66;"> 1</span><span style="color:#ABB2BF;">; ; i++) {</span></span>
<span class="line"><span style="color:#E5C07B;"> System</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">out</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">print</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">resultSet</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getString</span><span style="color:#ABB2BF;">(i));</span></span>
<span class="line"><span style="color:#C678DD;"> if</span><span style="color:#ABB2BF;"> (i </span><span style="color:#56B6C2;">&lt;</span><span style="color:#ABB2BF;"> columnCount) {</span></span>
<span class="line"><span style="color:#E5C07B;"> System</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">out</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">print</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;, &quot;</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#ABB2BF;"> } </span><span style="color:#C678DD;">else</span><span style="color:#ABB2BF;"> {</span></span>
<span class="line"><span style="color:#E5C07B;"> System</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">out</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">println</span><span style="color:#ABB2BF;">();</span></span>
<span class="line"><span style="color:#C678DD;"> break</span><span style="color:#ABB2BF;">;</span></span>
<span class="line"><span style="color:#ABB2BF;"> }</span></span>
<span class="line"><span style="color:#ABB2BF;"> }</span></span>
<span class="line"><span style="color:#ABB2BF;"> }</span></span>
<span class="line"><span style="color:#E5C07B;"> System</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">out</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">println</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">&quot;--------------------------</span><span style="color:#56B6C2;">\\n</span><span style="color:#98C379;">&quot;</span><span style="color:#ABB2BF;">);</span></span>
<span class="line"><span style="color:#ABB2BF;"> }</span></span>
<span class="line"><span style="color:#ABB2BF;"> }</span></span>
<span class="line"><span style="color:#ABB2BF;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>The parameter <code>version</code> can be used in the url:</p><div class="language-java line-numbers-mode" data-highlighter="shiki" data-ext="java" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-java"><span class="line"><span style="color:#E5C07B;">String</span><span style="color:#E06C75;"> url </span><span style="color:#56B6C2;">=</span><span style="color:#98C379;"> &quot;jdbc:iotdb://127.0.0.1:6667?version=V_1_0&quot;</span><span style="color:#ABB2BF;">;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>The parameter <code>version</code> represents the SQL semantic version used by the client, which is used to be compatible with the SQL semantics of 0.12 when upgrading 0.13. The possible values are: <code>V_0_12</code>, <code>V_0_13</code>, <code>V_1_0</code>.</p>`,17)])])}const r=n(o,[["render",p]]),i=JSON.parse('{"path":"/UserGuide/V1.2.x/API/Programming-JDBC.html","title":"JDBC","lang":"en-US","frontmatter":{"description":"JDBC Note: The current JDBC implementation is only for connecting with third-party tools. We do not recommend using JDBC (when executing insert statements) as it cannot provide ...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"JDBC\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-01-12T10:25:39.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://iotdb.apache.org/UserGuide/V1.2.x/API/Programming-JDBC.html"}],["meta",{"property":"og:site_name","content":"IoTDB Website"}],["meta",{"property":"og:title","content":"JDBC"}],["meta",{"property":"og:description","content":"JDBC Note: The current JDBC implementation is only for connecting with third-party tools. We do not recommend using JDBC (when executing insert statements) as it cannot provide ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-01-12T10:25:39.000Z"}],["meta",{"property":"article:modified_time","content":"2026-01-12T10:25:39.000Z"}],["link",{"rel":"alternate","hreflang":"zh-cn","href":"https://iotdb.apache.org/zh/UserGuide/V1.2.x/API/Programming-JDBC.html"}]]},"git":{"createdTime":1768213539000,"updatedTime":1768213539000,"contributors":[{"name":"CritasWang","username":"CritasWang","email":"critas@outlook.com","commits":1,"url":"https://github.com/CritasWang"}]},"readingTime":{"minutes":2.59,"words":778},"filePathRelative":"UserGuide/V1.2.x/API/Programming-JDBC.md","autoDesc":true}');export{r as comp,i as data};