|
发表于 2018-1-27 20:00:02
|
显示全部楼层
private static void getData(HttpServletRequest request, HttpServletResponse response)// 查询数据
throws ServletException, IOException {
try {
// 调用Class.forName()方法加载驱动程序
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e1) {
System.out.println("找不到MySQL驱动!");
e1.printStackTrace();
}
String url = StudyContants.getMysqlurl("study"); // JDBC的URL
// 调用DriverManager对象的getConnection()方法,获得一个Connection对象
Connection conn;
try {
conn = DriverManager.getConnection(url, "root", StudyContants.getMysqlKey());
// 创建一个Statement对象
Statement stmt = conn.createStatement(); // 创建Statement对象
String sql = "SELECT ID,name,phone,address FROM testdata ";
// 这里我没有做条件查询,如果要做条件查询,就加where语句就好了,建议你的where语句后面的查询条件列,在数据库中加上索引,今后数据量大了之后,有索引和没有索引耗时相差会很大
ResultSet rs = stmt.executeQuery(sql);
JsonArray array = new JsonArray();
/*
* wex5中baasdata和data能支持简单json格式loaddata,
* 说直白点就是支持json数组格式:[row1,row2,row3],其中row就是json格式{列1:值,列2:值,列3:值}
* 所以我在这里要把查询处理的数据以这种格式返回给w页面,以便data进行加载
*/
while (rs.next()) {
JsonObject ob = new JsonObject();
ob.addProperty("ID", rs.getString("ID"));
ob.addProperty("name", rs.getString("name"));
ob.addProperty("phone", rs.getString("phone"));
ob.addProperty("address", rs.getString("address"));
array.add(ob);
}
response.getWriter().write(array.toString());// 直接将数组转化为字符串格式返回给w页面。
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
这是我的返回数据的代码······这样返回的就是简单json数组···· 可以直接加载 |
|