我正在研究JNI程序,我无法从我的C ++程序中调用java方法。
java方法的代码片段在这里
public static void getTables(Connection conn) throws Exception {
String TABLE_NAME = "TABLE_NAME";
String TABLE_SCHEMA = "TABLE_SCHEM";
String[] TABLE_TYPES = {"TABLE"};
DatabaseMetaData dbmd = conn.getMetaData();
ResultSet tables = dbmd.getTables(null, null, null, TABLE_TYPES);
while (tables.next()) {
System.out.println(tables.getString(TABLE_NAME));
System.out.println(tables.getString(TABLE_SCHEMA));
}
}
我想从C ++程序中调用这个java方法。
我可以调用main方法 因为代码是
midMain = env->GetStaticMethodID(clsH, "main", "([Ljava/lang/String;)V");
我想像这样调用getTables方法。请帮我解决一下。
答案 0 :(得分:0)
请看 https://stackoverflow.com/a/14872927/755804 可能这些: https://stackoverflow.com/a/14021142/755804 https://stackoverflow.com/a/15941319/755804 https://stackoverflow.com/a/21109940/755804
调用静态和非静态方法之间存在一些差异,但并不多。 我建议你从一些有用的东西开始,然后逐渐将它改变成你想要的东西。