首页 > 数据库 > MySQL > 正文

讲解jython访问MySQL数据库的具体步骤

2024-07-24 12:57:56
字体:
来源:转载
供稿:网友

准备工作如下:

下载

http://jaist.dl.sourceforge.net/sourceforge/zxjdbc/zxJDBC-2.1.tar.gz

http://jaist.dl.sourceforge.net/sourceforge/jython/jython_installer-2.2.1.jar

http://mmMySQL.sourceforge.net/dist/mm.mysql-2.0.4-bin.jar

安装(需要已经安装了jdk/jre?)

java -jar jython_installer-2.2.1.jar 安装到C:/jython2.2.1

将zxJDBC.jar解压缩到c:/tmp

将mm.mysql-2.0.4-bin.jar复制到c:/tmp

C:/jython2.2.1>set CLASSPATH=c:/tmp/mm.mysql-2.0.4-bin.jar;c:/tmp/zxJDBC.jar;%CLASSPATH%

启动mysql服务器C:/mysql51>cd binC:/mysql51/bin>mysqld --console并建立数据库C:/mysql51/bin>mysql -u rootWelcome to the MySQL monitor. Commands end with ; or /g.Your MySQL connection id is 1Server version: 5.1.14-beta-community MySQL Community Server (GPL)Type 'help;' or '/h' for help. Type '/c' to clear the buffer.mysql> show databases-> ;+--------------------+| Database           |+--------------------+| information_schema || mysql              |+--------------------+2 rows in set (0.00 sec)mysql> create database test;Query OK, 1 row affected (0.01 sec)mysql> use testDatabase changedmysql> create table a1(c1 varchar(30));Query OK, 0 rows affected (0.02 sec)mysql> insert into a1 values ('Hello World');Query OK, 1 row affected (0.00 sec)进入jython环境访问mysqlC:/jython2.2.1>jythonJython 2.2.1 on java1.6.0Type "copyright", "credits" or "license" for more information.>>> from com.ziclix.python.sql import zxJDBC>>> mysqlConn = zxJDBC.connect("jdbc:mysql://localhost/test",... "root", "",... "org.gjt.mm.mysql.Driver")>>> cursor = mysqlConn.cursor()>>> cursor.execute("SELECT * FROM a1");>>> cursor.fetchone()('Hello World',)>>> cursor.fetchall()[]>>> cursor.description[('c1', 12, 30, None, None, None, 1)]>>>

需要用jython自己封装的dbexts库

最后编辑一个名为dbexts.ini的文件保存到c:/jython2.2.1/lib

[default]name=mysqltest[jdbc]name=mysqltesturl=jdbc:mysql://localhost/testuser=rootpwd=driver=org.gjt.mm.mysql.Driver进入jython>>> from dbexts import dbexts>>> mysqlcon = dbexts("mysqltest", "c:/jython2.2.1/lib/dbexts.ini>>> mysqlcon.table()TABLE_CAT | TABLE_SCHEM | TABLE_NAME | TABLE_TYPE | REMARKS-----------------------------------------------------------| | a1 | TABLE |1 row affected>>> mysqlcon.table('a1')TABLE_CAT | TABLE_SCHEM | TABLE_NAME | COLUMN_NAME | DATA_TYPE |S | NUM_PREC_RADIX | NULLABLE | REMARKS | COLUMN_DEF | SQL_DATA_SITION | IS_NULLABLE----------------------------------------------------------------------------------------------------------------------------------------------------| | a1 | c1 | 12 || 10 | 1 | | | 0| YES1 row affected>>> mysqlcon.isql("SELECT * FROM a1")C1-----------Hello World1 row affectedDML >>> mysqlcon.isql("insert into a1 values('insert by dbexts')")>>> mysqlcon.isql("SELECT * FROM a1")C1----------------Hello Worldinsert by dbexts2 rows affected

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表