public void psqlworkreport() throws SQLException, **ClassNotFoundException, InstantiationException, IllegalAccessException** {
String cmd = data.get(dataKey);
test.log(Status.INFO, "Executing: "+cmd);
Object rv = Psql.exec(cmd); // kotlin.Any ~ java.lang.Object
System.out.println(rv);
if (rv instanceof ResultSet)
((ResultSet)rv).getStatement().getConnection();
/*
第二种方法
Class.forName("org.postgresql.ds.PGSimpleDataSource").newInstance();
Connection conn=DriverManager.getConnection("jdbc:postgresql://192.168.4.23:5432/PanaCIM?user=cim&password=cim");
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery(cmd);
while(rs.next())
{
System.out.print(rs.getInt("work_order_id"));
System.out.printf("%15s",rs.getString("work_order_name"));
*/
while(((ResultSet) rv).next())
{
System.out.print(((ResultSet) rv).getInt("work_order_id"));
System.out.printf("%15s",((ResultSet) rv).getString("work_order_name"));
psql.kt
第一种方法相关配置
package com.PanaAutomation.Util
import com.zaxxer.hikari.HikariConfig
import com.zaxxer.hikari.HikariDataSource
object Psql {
private val ds =
HikariDataSource(
HikariConfig(System.getProperty("user.dir") +
"//src//main/resources/${PropertiesFiles.prod.getProperty("hikari")}.properties"))
fun getConnection() = ds.connection
fun createQuery(queryStr: String) = getConnection().prepareStatement(queryStr)
fun query(queryStr: String) = createQuery(queryStr).executeQuery()
fun exec(queryStr: String): Any {
val sql = createQuery(queryStr)
return if (sql.execute())
sql.resultSet
else
sql.updateCount
}
fun update(queryStr: String) = createQuery(queryStr).use { it.executeUpdate() }
}
hikari.properties
第一种方法相关配置
dataSourceClassName=驱动
dataSource.user=cim
dataSource.password=cim
dataSource.databaseName=PanaCIM
dataSource.portNumber=端口号
dataSource.serverName=数据库ip
select work_order_id,work_order_name from work_orders