在python下可以通过
import MySQLdb
来操作mysql,但是在jython下用
pip install MySQL-python
安装MySQLdb时会报错,尝试用MySQLdb的源代码方式本地安装也是报同样的错,如下:
错误信息为Compiling extensions is not supported on Jython
无奈之下只能使用jython自己的方式来操作数据库了。
因为jython可以使用所有的java类,所以可以直接通过jdbc来操作,当然要有mysql-connector-java-5.1.21驱动jar包。
新建一个jython项目,如下图:
注意在System Libs里要加上jdbc驱动jar包。编写db.py
#!/usr/bin/env jython
import os
from dbexts import dbexts
#jdbc.ini是数据库的链接信息
dbcfg = os.getcwd()+'/jdbc.ini'
#dbexts类是jython自己的
d = dbexts(cfg=dbcfg)
#在执行isql时会自动打印出查询到的数据,所有CRUD的语句都由isql()方法执行
d.isql("select * from tb_user")
d.close()
for row in d.results:
print(row[0]) #打印出第一列的数据
jdbc.ini中的配置
[default]
name=mysql
[jdbc]
name=mysql
url=jdbc:mysql://localhost:3306/dbname
user=root
pwd=123456
driver=com.mysql.jdbc.Driver
datahandler=com.ziclix.python.sql.handler.MySQLDataHandler
这样就可以了。更多信息可以访问jython的官网Database connectivity in Jython