如何在GWT中连接MySql? (应用服务引擎)

时间:2013-07-10 13:49:52

标签: java mysql google-app-engine gwt connection

我有一个奇怪的问题。 我在AppEngine上使用GWT,我想创建连接到MySql的RPC。这一整天我都坐在上面..这是我对RPC方法的实现:

java.sql.Connection con = null;
    public DataBaseServiceImpl() {
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            System.out.print("bladd..");
            e.printStackTrace();
        }

     String url ="jdbc:mysql://localhost:8806/base";
     try {
        con = DriverManager.getConnection( url,"root", "");
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    }
    @Override
    public ArrayList<String[]> getTables(int idUser) throws SQLException {

         Statement st =  con.createStatement();
         ResultSet retrive = st.executeQuery("query");
         ArrayList<String[]> result = new ArrayList<String[]>();
         while(retrive.next())
         {
             String[] s = new String[2];
             int theInt= retrive.getInt("ID__TABLE");
             String str = retrive.getString("LABEL");
             s[0]=Integer.toString(theInt);
             s[1]=str;
             result.add(s);
         }
        return result;
    }

我有这个错误:

  

java.sql.SQLException:无法初始化驱动程序属性   java.lang.IllegalAccessException:Class   com.google.appengine.tools.development.agent.runtime.Runtime不能   访问类com.mysql.jdbc.ConnectionPropertiesImpl的成员   修饰语“私人”

我不知道它是什么。 有人能帮助我吗?

问候。

2 个答案:

答案 0 :(得分:0)

最重要的是你的代码非常混乱。良好的编码实践存在许多违规行为。

从你所包含的代码中,这一行永远不会被执行:

con = DriverManager.getConnection( url,"root", "");

因此没有与您的数据库的连接。您的例外是否表明此行

Statement st =  con.createStatement();

是问题吗?

答案 1 :(得分:0)

我在jre1.7.0_25上遇到了同样的问题。 我通过升级到jre1.7.0_45解决了这个问题。