# xugu-jdbc-demo **Repository Path**: xgwy_wxl/xugu-jdbc-demo ## Basic Information - **Project Name**: xugu-jdbc-demo - **Description**: 虚谷数据库原生JDBC驱动程序员开发Demo - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/XuguDB/xugu-jdbc-demo.git - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 6 - **Created**: 2023-10-18 - **Last Updated**: 2023-10-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Logo

项目名称:xugu-jdbc-demo

## 项目简介 本项目为虚谷数据库JDBC Driver使用示例程序,从JAVA代码层提供使用虚谷JDBC Driver操作虚谷数据库常见基本操作。 ### 开发环境配置 | 工具 | 版本 | 说明 | | ------------------------ | ------------- | ----------------------- | | IDEA | 2019.1.1 | 后端开发IDE | | MAVEN | 3.5.0 | 项目框架 | | SUN JDK | 1.8.0_144 | JDK编译版本 | | slf4j | 1.7.25 | 日志 | ### 功能介绍 - 1.虚谷数据库JDBC Driver配置使用,代码详见(包:driver) - 2.虚谷数据库JDBC驱动调用接口DML(INSERT、UPDATE、DELTE、SELECT)操作,代码详见(包: dml) - 3.虚谷数据库JDBC驱动调用接口DDL(CREATE TABLE、ALTER TABLE、DROP TABLE、TRUNCATE TABLE)操作,代码详见(包:ddl) - 4.虚谷数据库JDBC驱动调用接口PrepareStatement(预编译动态参数绑定、批量INSERT、批量UPDATE、批量DELETE)操作,代码详见(包:preparestatement) - 5.虚谷数据库JDBC驱动使用流程(建立数据库连接->分配操作对象->数据库交互->资源回收关闭),代码详见(包:driver) - 6.虚谷数据库JDBC驱动异常处理,代码详见(类:preparestatement.BatchInsert) - 7.虚谷数据库JDBC驱动获取自增长列值(Statement,prepareStatement),代码详见(包:generatedKey) - 8.虚谷数据库JDBC驱动获取数据库元数据getMetaData,代码详见(包:metadata) ### 源代码结构(maven工程) | 目录 | 目的 | | ----------------------------- | ------------------------ | | ${basedir} | 存放pom.xml和所有的子目录| | ${basedir}/src/main/java | 项目的java源代码| | ${basedir}/src/main/resources | 项目的资源,比如property文件,lib/ 驱动程序包| | ${basedir}/src/test/java | 项目的测试类,比如说Junit代码| | ${basedir}/src/test/resources | 资源文件(配置文件、初始化脚本文件)| | ~/.m2/repository | Maven默认的本地仓库目录位置| ### 搭建步骤 1. 在本机安装开发工具IDEA、MAVEN软件、Git 2. 从远端服务器克隆项目代码, git 地址:https://gitee.com/XuguDB/xugu-jdbc-demo.git 3. 在开发工具中配置MAVEN 4. 下载相关依赖包 5. 修改项目中虚谷数据库相关连接信息(IP地址、端口、数据库名称等)) 6. 在目标数据库执行src/test/resources中的初始化数据库脚本 7. 执行src/test/java目录下的测试用例 ### JDBC使用六大步骤 1. 加载驱动(class.forName()) 2. 创建连接connection 3. 创建管道Statement或PrepareStatement预处理 4. 执行sql语句 5. 处理结果集 6. 释放资源(关闭结果集,关闭Statement或PrepareStatement,关闭连接) ### 虚谷JDBC负载均衡使用说明 JDBC内置均衡接口 基于调用者传入的多个连接ip地址和其他连接信息,通过内部均衡算法实现了在均等的对各个ip进行连接的建立。JDBC负载均衡接口分为配置文件和非配置文件两种方式 标准jdbc: url连接串:jdbc:xugu://127.0.0.1:5138/SYSTEM?user=SYSDBA&password=SYSDBA&char_set=utf8 配置文件方式: url连接串:jdbc:xugu:file://listener.xml:5138/SYSTEM?user=SYSDBA&password=SYSDBA&char_set=utf8 非配置文件方式: url连接串:jdbc:xugu://127.0.0.1:5138/SYSTEM?user=SYSDBA&password=SYSDBA&char_set=utf8&ips=192.168.1.2,192.168.1.2,192.168.1.2 一、配置文件方式 1.协议头由标准方式"jdbc:xugu:"变为"jdbc:xugu:file:" 2.ip替换为配置文件*.xml,配置文件格式如下: 192.168.1.206 192.168.1.204 192.168.1.205 3.使用方式demo 代码: public Connection getConnectionByFile() throws ClassNotFoundException, SQLException{ Class.forName("com.xugu.cloudjdbc.Driver"); conn = DriverManager.getConnection("jdbc:xugu:file://xuguClouldListener.xml:5138/SYSTEM?user=SYSDBA&password=SYSDBA"); return conn; } 二、非配置文件方式 使用方式demo 代码: /** * 非配置文件,负责均衡使用方式一 * 均衡节点逗号分隔赋予ips 置于连接串后 * @return * @throws ClassNotFoundException * @throws SQLException */ public Connection getConnectionByProps1() throws ClassNotFoundException, SQLException { Class.forName("com.xugu.cloudjdbc.Driver"); conn = DriverManager.getConnection("jdbc:xugu://192.168.1.201:5138/SYSTEM?user=SYSDBA&password=SYSDBA" + "&ips=192.168.1.205,192.168.1.204,192.168.1.206"); return conn; } /** * 非配置文件,负责均衡使用方式二 * 均衡节点放入Vector对象后put到ips * @return * @throws ClassNotFoundException * @throws SQLException */ public Connection getConnectionByProps2() throws ClassNotFoundException, SQLException { Class.forName("com.xugu.cloudjdbc.Driver"); Properties info=new Properties(); Vector ipsVector=new Vector(); ipsVector.add("192.168.1.201"); ipsVector.add("192.168.1.204"); ipsVector.add("192.168.1.205"); ipsVector.add("192.168.1.206"); info.put("ips", ipsVector); conn = DriverManager.getConnection("jdbc:xugu://192.168.1.201:5138/SYSTEM?user=SYSDBA&password=SYSDBA",info); return conn; } /** * 非配置文件,负责均衡使用方式三 * 均衡节点放入String数组对象后put到ips * @return * @throws ClassNotFoundException * @throws SQLException */ public Connection getConnectionByProps3() throws ClassNotFoundException, SQLException { Class.forName("com.xugu.cloudjdbc.Driver"); Properties info=new Properties(); String[] ips={"192.168.1.205","192.168.1.204","192.168.1.206"}; info.put("ips", ips); conn = DriverManager.getConnection("jdbc:xugu://192.168.1.201:5138/SYSTEM?user=SYSDBA&password=SYSDBA",info); return conn; } /** * 非配置文件,负责均衡使用方式四 * 均衡节点形成逗号分隔字符串对象后put到ips * @return * @throws ClassNotFoundException * @throws SQLException */ public Connection getConnectionByProps4() throws ClassNotFoundException, SQLException { Class.forName("com.xugu.cloudjdbc.Driver"); Properties info=new Properties(); String ips="192.168.1.205,192.168.1.204,192.168.1.206"; info.put("ips", ips); conn = DriverManager.getConnection("jdbc:xugu://192.168.1.201:5138/SYSTEM?user=SYSDBA&password=SYSDBA",info); return conn; } ## 联系Contact 技术支持QQ:240370218 技术支持Email:xugu@vip.163.com 项目链接: https://gitee.com/XuguDB/xugu-jdbc-demo.git