Jython 使用 zxJDBC 包,该包为 JDBC 提供了易于使用的 Python 包装器。zxJDBC 连接了两个标准:JDBC 是 Java 中数据库访问的标准平台,DBI 是 Python 应用程序的标准数据库 API。
ZxJDBC 为 JDBC 提供了一个符合 DBI 2.0 标准的接口。超过 200 个驱动程序可用于 JDBC,它们都与 zxJDBC 一起使用。高性能驱动程序可用于所有主要的关系数据库,包括 -
- DB2
- Derby
- MySQL
- Oracle
- PostgreSQL
- SQLite
- SQL Server and
- Sybase.
ZxJDBC 包可以从 https://sourceforge.net/projects/zxjdbc/ 或 http://www.ziclix.com/zxjdbc/ 下载。下载的存档包含ZxJDBC.jar,应将其添加到 CLASSPATH 环境变量中。
我们打算与 MySQL 数据库建立数据库连接。为此,需要适用于 MySQL 的 JDBC 驱动程序。从以下链接下载 MySQL J 连接器 - https://dev.mysql.com/downloads/connector/j/ 并将 mysql 连接器java-5.1.42-bin.jar包含在 CLASSPATH 中。
登录到 MySQL 服务器,并在 test 数据库中创建一个 student 表,其结构如下 -
Field | Type | Width |
---|---|---|
Name | Varchar | 10 |
Age | Int | 3 |
Marks | Int | 3 |
在其中添加一些记录。
Name | Age | Marks |
---|---|---|
Ravi | 21 | 78 |
Ashok | 20 | 65 |
Anil | 22 | 71 |
创建以下 Jython 脚本作为 dbconnect.py。
url = "jdbc:mysql://localhost/test"
user = "root"
password = "password"
driver = "com.mysql.jdbc.Driver"
mysqlConn = zxJDBC.connect(url, user, password, driver)
mysqlConn = con.cursor()
mysqlConn.execute(“select * from student)
for a in mysql.fetchall():
print a
从 Jython 提示符执行上述脚本。student 表中的记录将如下所示 -
(“Ravi”, 21, 78)
(“Ashok”, 20, 65)
(“Anil”,22,71)
(“Ashok”, 20, 65)
(“Anil”,22,71)
这解释了在 Jython 中建立 JDBC 的过程。