我自己跟着视频写的代码。调用的是mysql自带的数据库world。
这个是CityDAo里面的
public ArrayList<City>getAllCities(){
Connection conn=null;
PreparedStatement stmt=null;
ResultSet rs=null;
ArrayList<City> list=new ArrayList<City>();//城市集合
try{
conn=DBHelper.getConnection();
String sql="select *from city where Name='Shanghai';"; //SQL
stmt=conn.prepareStatement(sql);
rs=stmt.executeQuery();
//Statement stmt = conn.createStatement();
//ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
City city=new City();
city.setId(rs.getInt("ID"));
city.setName(rs.getString("Name"));
city.setCountryCode(rs.getString("CountryCode"));
city.setDistrict(rs.getString("District"));
city.setPopulation(rs.getInt("Population"));
list.add(city); //每次遍历加一个城市
}
return list; //返回
index.jsp文件
<h1>数据库city展示</h1>
<hr>
<center>
<table>
<thead>
<tr><th>ID</th><th>名字</th><th>国家</th><th>地区</th><th>人口数量</th></tr>
</thead>
<tbody>
<%
CityDAO cityDao=new CityDAO();
ArrayList<City>list=cityDao.getAllCities();
if(list!=null&&list.size()>0){
for(int i=0;i<list.size();i++){
City city=list.get(i);
%>
<tr><td><%=city.getId() %></td><td><%=city.getName() %></td><td><%=city.getCountryCode() %></td><td><%=city.getDistrict() %></td><td><%=city.getPopulation() %></td></tr>
<%
}
}
%>
</tbody>
</table>
</center>
数据库连接正常,网页显示只有第一行的表头,没有数据。求解答
String sql="select *from city where Name='Shanghai'"; //SQL
这里面多了一个分号