后端if(request.getRequestURI().endsWith("getAllProvice.action")) { //获取所有的省信息 List<Provice> provices = new ArrayList<>(); provices.add(new Provice("01","北京")); provices.add(new Provice("02","江苏省")); //将java对象转换成json字符串 String jsonString = JSON.toJSONString(provices); System.out.println(jsonString); response.setCharacterEncoding("utf-8"); response.getWriter().print(jsonString); } 前端 //获取省信息 $.ajax({ url:"getAllProvice.action", dataType:"json", success:function (result) {//resultjson对象 console.log("json字符串:"+JSON.stringify(result)) // $("#provice").append() for (var i = 0;i<result.length;i++){ //<option value="01">北京 $("#provice").append("<option value="+result[i].pid+">"+result[i].pname+"</option>"); } } })怎么改成和数据库表联动的代码
时间: 2024-02-14 17:10:03 浏览: 149
可以按照以下步骤修改代码:
1. 在后端添加数据库连接代码以及对数据库进行查询的代码。可以使用JDBC或者ORM框架,如MyBatis。
2. 将查询到的数据转换为Java对象并添加到List中,然后将List转换为JSON字符串并返回给前端。
下面是修改后的示例代码:
后端:
```
if(request.getRequestURI().endsWith("getAllProvice.action")) {
//连接数据库
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
List<Provice> provices = new ArrayList<>();
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
ps = conn.prepareStatement("SELECT * FROM province");
rs = ps.executeQuery();
while (rs.next()) {
String pid = rs.getString("pid");
String pname = rs.getString("pname");
provices.add(new Provice(pid, pname));
}
//将java对象转换成json字符串
String jsonString = JSON.toJSONString(provices);
System.out.println(jsonString);
response.setCharacterEncoding("utf-8");
response.getWriter().print(jsonString);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
前端:
```
//获取省信息
$.ajax({
url:"getAllProvice.action",
dataType:"json",
success:function (result) {//resultjson对象
console.log("json字符串:"+JSON.stringify(result))
// $("#provice").append()
for (var i = 0;i<result.length;i++){
//<option value="01">北京
$("#provice").append("<option value="+result[i].pid+">"+result[i].pname+"</option>");
}
}
})
```
其中,`test`是数据库名,`root`和`password`是MySQL的用户名和密码,`province`是数据库中的表名。请根据实际情况修改这些参数。
阅读全文