当前位置: 首页 > article >正文

Yashan DB 应用开发

一、YashanDB支持的驱动

YashanDB支持多种驱动,包括JDBC、C、Python、ADO.NET、ODBC等。以下是详细介绍:


1.JDBC驱动

• 定义:JDBC是Java连接数据库的技术统称。Java语言只提供规范(接口),规定数据库操作方法。

• 实现:YashanDB根据Java的JDBC规范(接口),完成具体的实现驱动代码(jar包)。

• 使用方式:

1. 通过`java.sql.*`包加载JDBC接口。

2. 使用`DriverManager`获取连接。

3. 使用`Connection`对象执行SQL语句。

4. 使用`Statement`、`PreparedStatement`或`CallableStatement`发送SQL语句。

5. 使用`ResultSet`接收查询结果。


2.Python驱动

• 定义:YashanDB的Python驱动是一个支持Python DB API协议的Python拓展模块(yaspy),使Python应用程序可以直接连接YashanDB数据库。

• 模块内容:

• `yaspy.connect()`:创建数据库连接的构造函数。

• `Globals`:模块中定义的变量。

• `Connection`:Python应用程序到数据库的连接对象。

• `Cursor`:连接数据库后创建的游标对象。

• 使用方式:

1. 安装驱动包:`pip3 install yaspy-<version>-cp36-cp36m-linux_x86_64.whl`。

2. 引入驱动模块。

3. 获取连接。

4. 获取游标。

5. 执行SQL语句。

6. 关闭资源。


3.ODBC驱动

• 定义:ODBC(Open Database Connectivity,开放数据库互连)提供了一种标准的API方法来访问数据库,利用SQL完成大部分任务。

• 标准内容:

• ODBC函数调用库,用于连接数据源、执行SQL命令并检索结果。

• 基于SQL-99规范的SQL语法。

• 一套标准的错误码。

• 一套连接并登录到数据源的标准方式。

• 对数据类型的标准描述。

• 使用方式:详见官方文档。


---

二、案例:通过JDBC访问YashanDB


1.案例目标


明确JDBC流程,详细讲解使用方法。


2.环境准备

• 开发环境:IDEA开发环境、JDK、JDBC驱动包。

• 数据准备:创建用户、建表、插入数据。


3.核心类和接口

• DriverManager:注册第三方数据库驱动,获取数据库连接。

• Connection:与数据库建立连接,执行CRUD操作。

• Statement/PreparedStatement/CallableStatement:发送SQL语句到数据库。

• ResultSet:存储查询结果,需解析获取数据。


4.使用路线

• 静态SQL路线:

• DriverManager→Connection→Statement→Result

• 预编译SQL路线:

• DriverManager→Connection→PreparedStatement→Result

• 执行存储过程:

• DriverManager→Connection→CallableStatement→Result


5.数据插入

1. 注册驱动。

2. 获取连接。

3. 创建`PreparedStatement`并传入SQL语句。

4. 占位符赋值。

5. 执行SQL语句。

6. 关闭资源。


6.数据查询

1. 注册驱动。

2. 获取连接。

3. 创建`PreparedStatement`并传入SQL语句。

4. 占位符赋值。

5. 执行SQL语句并返回结果集。

6. 解析结果集对象。

7. 关闭资源。


---

三、案例:通过Python访问YashanDB


1.环境准备

• 安装Python 3.6.8:`yum -y install python3`。

• 安装YashanDB Python驱动包:`pip3 install yaspy-<version>-cp36-cp36m-linux_x86_64.whl`。


2.功能实现

1. 引入驱动模块。

2. 获取连接。

3. 获取游标。

4. 执行SQL语句。

5. 关闭资源。


---


http://www.kler.cn/a/584169.html

相关文章:

  • Python里matplotlib不显示中文的问题
  • MoonSharp 文档五
  • 前瞻技术:未来生活的新动力与改变
  • spark实验
  • 树与二叉树的遍历
  • Vue3中全局使用Sass变量方法
  • JetBrains(全家桶: IDEA、WebStorm、GoLand、PyCharm) 2024.3+ 2025 版免费体验方案
  • 【拓扑排序】火星词典
  • SpringS ecurity测试登录接口报错
  • Visual Studio关闭警告
  • 16.AVL树实现
  • 自动化测试 | Python+PyCharm+Google Chrome+Selenium 环境安装记录
  • 数据可视化图表库LightningChart JS 全新发布v7.0——提高视觉质量
  • SpringBoot为什么流行以及能解决什么问题?
  • 个人学习编程(3-13) 刷题2
  • Linux下用多进程在GPU上跑Pytorch模型问题
  • python -面试题--算法
  • 安科瑞ACCU-100微电网协调控制器:助力绿色能源系统运行
  • JVM之基础知识
  • 以实现生产制造、科技研发、人居生活等一种或多种复合功能的智慧油站开源了