php-java bridge mysql 连接例子(仅连接)
2008年5月4日
评论关闭
以下例子仅仅是可以访问,但感觉未实现数据池的效果;
require_once("./java/java/Java.inc");
/* autoload NAME.jar from include_path/NAME/NAME.jar or ~/lib/NAME.jar */
//java_autoload();
java_require("j2ee.jar;mysql-connector-java-5.1.6-bin.jar;commons-configuration-1.4.jar;commons-lang-2.3.jar;commons-logging-1.1.jar;commons-collections-3.2.jar;commons-beanutils-core-1.7.0.jar;commons-dbcp-1.2.2.jar;commons-pool-1.3.jar");
//phpinfo();
try {
echo "";
echo "Setting up data source:";
$t = new java("org.apache.commons.dbcp.BasicDataSource");
$t->setDriverClassName("org.gjt.mm.mysql.Driver");
$t->setUsername("root");
$t->setPassword("");
$t->setUrl("jdbc:mysql://localhost:3306/test");
$t->setMaxActive(10);
echo "Done.";
$conn = new java("java.sql.Connection");
$stmt = new java("java.sql.Statement");
$rset = new java("java.sql.ResultSet");
echo "Creating connection.";
$conn = java_values($t->getConnection());
echo $conn;
echo "Creating statement.";
$stmt = java_values($conn->createStatement());
echo $stmt;
echo "Executing statement.";
$rset = java_values($stmt->executeQuery("select * from fad_upload_33_5"));
echo $rset;
echo "Results:";
$numcols = java_values($rset->getMetaData()->getColumnCount());
print_r($numcols);
echo "numclos=".$numcols;
echo "";
while(java_values($rset->next()))
{
for($i=1;$i<=$numcols;$i++)
{
echo "-".java_values($rset->getString($i));
}
echo "";
}
echo "getMaxActive:".$t->getMaxActive();
echo "getNumActive:".$t->getNumActive();
echo "getMaxIdle:".$t->getMaxIdle();
echo "getInitialSize:".$t->getInitialSize();
echo "getMaxOpenPreparedStatements:".$t->getMaxOpenPreparedStatements();
echo "";
} catch (JavaException $ex) {
echo "An exception occured: "; echo $ex; echo "\n";
}