在list中不用泛型
List<UsersModel> searchList = new ArrayList<UsersModel>();
在这个对象中不用泛型。可以用啥?
代码:
SearchResults sr = new SearchResults();
List<UsersModel> searchList = new ArrayList<UsersModel>(); //不能使用泛型?
int endrow = perPageCount + start; // 计算结束行
StringBuffer stf = new StringBuffer();
stf.append("SELECT user_id,user_name,user_pwd,sex,birthday FROM(");
stf.append("SELECT rownum rn, user_id,user_name,user_pwd,sex,birthday FROM( ");
stf.append("SELECT user_id,user_name,user_pwd,sex,birthday ");
stf.append("FROM users "); //构造查询语句
if (StringUtils.isNotEmpty(name)) {
stf.append("WHERE user_name='" + name + "'");
}
stf.append("ORDER BY user_id)");
stf.append("where rownum<=" + endrow + ")");
stf.append("where rn>" + start);
String sql = stf.toString();
Statement stmt = this.getConnection().createStatement();
ResultSet rs = stmt.executeQuery(sql);
UsersModel uModel = null;
try {
while (rs.next()) {
uModel = new UsersModel(); //通过分页产生新数据要new 在里面。
uModel.setUserid(rs.getLong("user_id"));
uModel.setUserName(rs.getString("user_name"));
uModel.setUserPwd(rs.getString("user_pwd"));
uModel.setSex(rs.getString("sex"));
uModel.setBirthday(rs.getString("birthday"));
searchList.add(uModel);
}
sr.setList(searchList);
} catch (SQLException e) {
log.error("",e);
} finally {
stmt.close();
}
sr.setCount(getTotalRecord());
return sr;
}
[解决办法]
沒明白lz的意思。
范行你享用就用,不用也行。
只是用上不容易出错。
[解决办法]
那就直接List searchList = new ArrayList();
只是去元素的时候麻烦点
需要转换一下类型
UsersModel uModel = (UsersModel uModel) searchList.get(0);
[解决办法]
同不理解lz意思,泛型不用就行了,如果是写了通不过编译,可能是jdk版本问题
[解决办法]
去掉泛型,如:List list = new ArrayList();
list.add(new UsersModel());
但是取的时候需要造型,
UsersModel userModel = (UsersModel)list.get(0);
如果使用泛型编译出错,那么检查JDK版本是否过低。如果使用的eclipse可以把编译设置为5.0就可以了
[解决办法]
如果不使用泛型,那么你后面读取每个数据时,需要强制转换为制定的类型
[解决办法]
2楼,4楼的朋友没有明白我的意思,你们这种方式的前提是知道查询的sql语句.以及数据格式对应的bean.
而我的意思是查询sql语句和结果是未知的.所以无法根据bean来转json因为bean是未知的.只需将查找到结果转成json就可以.
不知道明白了没有?