通过id可以查询到我想要的数据 但是输出的id总是0或者1
求大神帮帮忙 数据库检查了没问题 不知道代码有啥问题呢
public List<Goddess> query(List<Map<String,Object>> params) throws Exception {
//查询女神 可能返回多个女神 所以创建一个List
Connection conn =DBUtil.getConnection();
//3.通过数据库的连接操作数据库 实现增删改查
StringBuilder sb = new StringBuilder();
sb.append(" select * from database.imooc_goddess where 1=1 "); //小技巧 1=1肯定成立
if(params!=null&¶ms.size()>0) {
for(int i=0; i<params.size(); i++) {
Map<String,Object> map = params.get(i);
//查询什么?关系是什么?值是什么 都能传进来
sb.append(" and " + map.get("name") + " " + map.get("rela") + " "+ map.get("value") + " " );
}
}
PreparedStatement ptmt = conn.prepareStatement(sb.toString());
System.out.println(sb.toString());
ResultSet rs = ptmt.executeQuery(); //返回一个ResultSet
List<Goddess> gs = new ArrayList<Goddess>();
Goddess g = null;
while(rs.next()) { //看下一个是否为空 如果true则有下一个
g = new Goddess();
g.setId(rs.getInt("id"));
g.setUser_name(rs.getString("user_name"));
g.setAge(rs.getInt("age"));
g.setSex(rs.getInt("sex"));
g.setBirthday(rs.getDate("birthday")); //从数据库传过来的sql的类型再转为util不需要转 因为util是父集
g.setEmail(rs.getString("email"));
g.setMobile(rs.getString("mobile"));
g.setCreate_date(rs.getDate("create_date"));
g.setCreate_user(rs.getString("create_user"));
g.setUpdate_date(rs.getDate("update_date"));
g.setUpdate_user(rs.getString("update_user"));
g.setId(rs.getInt("isdel"));
gs.add(g);
}
return gs;
}
public class TestAction {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
GoddessAction action = new GoddessAction();
//新增
Goddess g = new Goddess();
g.setUser_name("Stark");
g.setSex(1);
g.setAge(299);
g.setBirthday(new Date());
g.setEmail("tonystark@yahoo.com");
g.setMobile("13871445748");
g.setIsdel(0);
g.setId(9);
// action.add(g);
// action.edit(g);
// action.del(9);
List<Map<String, Object>>params = new ArrayList<Map<String, Object>>();
Map<String, Object>map = new HashMap<String, Object>();
map.put("name", "id");
map.put("rela", "=");
map.put("value",5);
params.add(map);
List<Goddess> result =action.query(params);
for (Goddess goddess : result) {
System.out.println(goddess.toString());
}
}
}