对于JSONObject类型,未定义getBackMysql()方法

时间:2018-04-09 02:27:37

标签: java mysql json

我现在正在编写一个java程序来获取Mysql数据库中的数据。当然已经阅读了关于这个问题的所有帖子(仍然无法弄清楚),并且我已将org.json.jar包含在我的参考库中。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import org.json.*;


public class getBackMysql
{
    static final String JDBC_Driver = ...;
    static final String DB_URL = ...;

    static final String USER = ...;
    static final String PASS = ...;

    public static JSONObject jsonobject;

    public static JSONObject getBackMysql()
    {
        Connection conn = null;
        Statement stmt = null;

        try
        {
            Class.forName("com.mysql.jdbc.Driver");

            System.out.println("Connecting the Database...");
            conn = DriverManager.getConnection( DB_URL, USER, PASS );

            System.out.println("Instantiating Statement...");
            stmt = conn.createStatement();
            String sql;
            sql = "SELECT t, obtid FROM t_localobtmind where obtid = 'G3742' order by ddatetime desc limit 1;";
            ResultSet rs = stmt.executeQuery(sql);

            while(rs.next())
            {
                String obtid = rs.getString("obtid");
                int temp = rs.getInt("t");

                String temperature = (String)("Temperature: " + temp / 10 + "℃");

                jsonobject.put("obtid", obtid);
                jsonobject.put("temperature", temperature);
            }

            rs.close();
            stmt.close();
            conn.close();

        }

        catch(SQLException se)
        {
            se.printStackTrace();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            try
            {
                if (stmt != null)
                {
                    stmt.close();
                }
            }
            catch(SQLException se2)
            {

            }
            try
            {
                if (conn != null)
                {
                    conn.close();
                }
            }
            catch(SQLException se)
            {
                se.printStackTrace();
            }
        }

    System.out.println("----Program ends----");
    return jsonobject;
    }

    public static void main( String[] args ) 
    {

        JSONObject json = json.getBackMysql();
        int tmp = json.getInt("temperature");
        String obtid = json.getString("obtid");


    }
}

Eclipse向我显示以下错误:对于类型JSONObject,未定义方法getBackMysql()。我仍然对JSONObject感到新鲜,并且不知道发生了什么。我已多次更改类名,但它不起作用。另外,在大型项目之前,这是一个小测试。

有没有人知道发生了什么? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

JSONObject类没有getBackMysql()方法,因此我们无法从JSONObject类的对象访问它。

因为getBackMysql()在main方法所在的同一个类中。您可以替换

JSONObject json=json.getBackMysql();

使用

JSONObject json=getBackMysql();