一、准备jar包
- commons-dbcp2-2.9.0.jar 下载地址
- commons-pool2-2.11.1.jar 下载地址
- commons-logging-1.2.jar 下载地址
- 相应数据库驱动的jar包(本文示例连接gbase 8s数据库,jar包是gbasedbtjdbc_3.4.0_2_ca1174.jar)
二、使用的python第三方包
pip install jpype1
三、示例代码
import jpype.imports
JVMPATH = jpype.getDefaultJVMPath()
CLASSPATH = 'lib/commons-dbcp2-2.9.0.jar;lib/commons-pool2-2.11.1.jar;'\
'lib/commons-logging-1.2.jar;lib/gbasedbtjdbc_3.4.0_2_ca1174.jar'
jpype.startJVM(JVMPATH, "-ea", "-Djava.class.path=%s" % CLASSPATH, "-Xms1024M", "-Xmx2048M")
from jpype.types import *
BasicDataSource = JClass('org.apache.commons.dbcp2.BasicDataSource')
ds = BasicDataSource()
ds.setDriverClassName("com.gbasedbt.jdbc.Driver")
ds.setUrl(
"jdbc:gbasedbt-sqli://192.168.1.2:12345/demodb:GBASEDBTSERVER=gbaseserver1;NEWCODESET=UTF8,cp1252,819;DB_LOCALE=zh_CN.utf8;CLIENT_LOCALE=zh_CN.utf8;DBDATE=Y4MD-;")
ds.setUsername("gbasedbt")
ds.setPassword("111111")
ds.setMaxTotal(50)
ds.setMaxIdle(20)
ds.setMinIdle(5)
ds.setInitialSize(10)
while True:
session = ds.getConnection()
stmt = session.createStatement()
sql = input('> ')
try:
rs = stmt.executeQuery(sql)
rsMetaData = rs.getMetaData()
column_count = rsMetaData.getColumnCount()
while rs.next():
for index in range(1, column_count + 1):
print(rs.getString(index), end="\t")
print()
rs.close()
except Exception as e:
print(e)
finally:
session.close()
四、运行
D:\PythonProjects\DBCP连接池\venv\Scripts\python.exe D:/PythonProjects/DBCP连接池/main.py
> select * from wt1
1 wangwei
2 yz
>