我正在为React Native应用开发本机模块。在模块中,我尝试建立JDBC连接。我还使用android studio加载了mysql-connector-java-8.0.11连接器,但出现上述错误。
我已经使用android studio将jar文件添加为模块。
以下是我的代码:
<div *ngIf="myVar; then myVar; else nothing"></div>
<ng-template #foo>My Foo-Content</ng-template>
<ng-template #nothing>No Content</ng-template>
这是我的gradle文件:
package com.myproject.helloworld;
import android.widget.Toast;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.Callback;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Map;
import java.util.HashMap;
import javax.sql.DataSource;
public class MyModule extends ReactContextBaseJavaModule {
private static final String DURATION_SHORT_KEY = "SHORT";
private static final String DURATION_LONG_KEY = "LONG";
public MyModule(ReactApplicationContext reactContext) {
super(reactContext);
}
@Override
public String getName() {
return "MyModule";
}
@Override
public Map<String, Object> getConstants() {
final Map<String, Object> constants = new HashMap<>();
constants.put(DURATION_SHORT_KEY, Toast.LENGTH_SHORT);
constants.put(DURATION_LONG_KEY, Toast.LENGTH_LONG);
return constants;
}
@ReactMethod
public void show(String message, int duration, Callback successCallback) {
Toast.makeText(getReactApplicationContext(), message, duration).show();
String str = null;
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con= DriverManager.getConnection(
"jdbc:mysql://localhost:3306/dgcis","root","root");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select COUNTRY_NAME from exp_imp_brc limit 1;");
while(rs.next())
str = rs.getString(1);
System.out.print(str);
con.close();
}catch(Exception e){ str = e.toString();}
successCallback.invoke("santosh", str );
}
}
答案 0 :(得分:1)
找不到模块是您的类路径。也可能是,尽管项目知道该文件,但是构建脚本可能不在范围内。
将此添加到您的gradle依赖项
// https://mvnrepository.com/artifact/mysql/mysql-connector-java
compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.5'
编辑:将mysql连接器版本更新为5.1.5,使其与1.7编译代码兼容。