zoukankan      html  css  js  c++  java
  • jdbc与TiDB数据库交互的过程

    以下是使用jdbc操作TiDB数据库,得到的交互过程和指令的说明

    ==>代表发送给数据库的指令

    // 加载驱动程序
    Class.forName(driver);
    // 连接数据库 Connection conn = DriverManager.getConnection(url, user, password); ==>(cmd=mysql.ComQuery)/* mysql-connector-java-6.0.6 ( Revision: 3dab84f4d9bede3cdd14d57b99e9e98a02a5b97d ) */ SELECT @@session.auto_increment_increment AS auto_increment_increment, @@character_set_client AS character_set_client, @@character_set_connection AS character_set_connection, @@character_set_results AS character_set_results, @@character_set_server AS character_set_server, @@init_connect AS init_connect, @@interactive_timeout AS interactive_timeout, @@license AS license, @@lower_case_table_names AS lower_case_table_names, @@max_allowed_packet AS max_allowed_packet, @@net_buffer_length AS net_buffer_length, @@net_write_timeout AS net_write_timeout, @@query_cache_size AS query_cache_size, @@query_cache_type AS query_cache_type, @@sql_mode AS sql_mode, @@system_time_zone AS system_time_zone, @@time_zone AS time_zone, @@tx_isolation AS tx_isolation, @@wait_timeout AS wait_timeout ==>(cmd=mysql.ComQuery)SET NAMES utf8 ==>(cmd=mysql.ComQuery)SET character_set_results = NULL ==>(cmd=mysql.ComQuery)SET autocommit=1 // 关闭自动提交 conn.setAutoCommit(false); ==>(cmd=mysql.ComQuery)SET autocommit=0 // 创建statement用来执行SQL语句 Statement stmt = conn.createStatement(); // 要执行的SQL语句 ResultSet rs1 = stmt.executeQuery("select * from nation"); ==>(cmd=mysql.ComQuery)select * from nation ResultSet rs2 = stmt.executeQuery("select * from region"); ==>(cmd=mysql.ComQuery)select * from region // 提交 conn.commit(); ==>(cmd=mysql.ComQuery)commit // 关闭连接
    rs1.close();
    rs2.close();
    stmt.close(); conn.close(); ==>(cmd=mysql.ComQuery)rollback ==>(cmd=mysql.ComQuit))

    在jdbc建立连接时,会获取服务器的参数,以下是TiDB2.0.0与mysql5.7的对比

    可以看到基本上差异不大,有部分参数与数据库服务器设置有关。

    [TiDB2.0.0]

    auto_increment_increment=1
    character_set_client=utf8
    character_set_connection=utf8
    character_set_results=latin1
    character_set_server=latin1
    init_connect=
    interactive_timeout=28800
    license=Apache License 2.0
    lower_case_table_names=2
    max_allowed_packet=67108864
    net_buffer_length=16384
    net_write_timeout=60
    query_cache_size=1048576
    query_cache_type=OFF
    sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
    system_time_zone=CST
    time_zone=SYSTEM
    tx_isolation=REPEATABLE-READ
    wait_timeout=28800

     [Mysql5.7]

    auto_increment_increment=1
    character_set_client=utf8
    character_set_connection=utf8
    character_set_results=null
    character_set_server=utf8
    init_connect=SET NAMES utf8
    interactive_timeout=28800
    license=GPL
    lower_case_table_names=0
    max_allowed_packet=4194304
    net_buffer_length=16384
    net_write_timeout=60
    query_cache_size=1048576
    query_cache_type=OFF
    sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    system_time_zone=CST
    time_zone=SYSTEM
    tx_isolation=REPEATABLE-READ
    wait_timeout=28800
  • 相关阅读:
    前端自动化测试python+webdriver
    JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
    onpageshow 监听页面是否是缓存页面
    CSS完美实现iframe高度自适应(支持跨域)
    HTML5 简单归纳 -- 前端知识 (一)
    JavaScrip 概述 -- 前端知识
    CSS 简单归纳 -- 前端知识
    HTML 简单归纳 -- 前端知识
    解决vscode-insider连接不了远程服务器问题
    回首,只为再出发!
  • 原文地址:https://www.cnblogs.com/maobuji/p/9143794.html
Copyright © 2011-2022 走看看