如何从MYSQL数据库中获取数据

时间:2014-07-06 16:28:13

标签: mysql database web-services java-ee

我有一个名为“test”的数据库,其中我有一个名为“first”的表,其中包含原始数据,我想获取此表数据。为了从“第一”表中获取数据,我必须使用什么样的准备语句?以下是我正在尝试的代码。任何帮助或指导都会很明显。

@Path("/database") // Specific URL
@GE
@Produces(MediaType.TEXT_PLAIN)
public String returnDB_Status() throws Exception {
    PreparedStatement query = null;
    String result = null;
    Connection conn = null;

    try {
        conn = mysql_prac.dbConn().getConnection(); // this works fine ... 
        query = conn.prepareStatement("SELECT * from first" ); // Table named as "first" is placed inside the connected database.
        ResultSet rs = query.executeQuery();
        result = "Data received : " + rs;
        query.close();

    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (conn != null)
            conn.close();
    }
    return result;
}

和使用的源代码获得连接

public class mysql_prac {

    private static DataSource mysql_prac = null;
    private static Context context = null;

    public static DataSource dbConn() throws Exception {
        if (mysql_prac != null) {
            return mysql_prac;
        }

        try {
            if (context == null) {
                context = new InitialContext();
            }

            mysql_prac = (DataSource) context.lookup("JDBC_ref"); //JNDI ID (JDBC_REF)
        } catch (Exception e) {
            e.printStackTrace();

        }
        return mysql_prac;
    }
}

1 个答案:

答案 0 :(得分:0)

您必须遍历ResultSet以获取每行的字段。所以我做了以下编辑和一些评论。请注意评论。

try {
        conn = mysql_prac.dbConn().getConnection(); // this works fine ... 
        query = conn.prepareStatement("SELECT * from first" ); // Table named as "first" is placed inside the connected database.
        ResultSet rs = query.executeQuery();//You must loop through the results set to get the fields of each row

        while(rs.next()){
            String dbUserID = rs.getString("column1");//this is just an example to retrieve all data in the column called 'column1'
            result = "Data received : " + dbUserID;
            System.out.println(result);
        }

        query.close();

    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (conn != null)
            conn.close();
    }