关于java中拼接sql,表名作为参数,返回结果集怎么接? [问题点数:30分] 10

代码如下:Stringsqlstr="select*from"+FormKey+"whereregist_id='"+registId+"'";Connectioncon... 代码如下:
String sqlstr = "select * from " + FormKey + " where regist_id = '" + registId +"'";

Connection conn = null;

Statement st = null;

ResultSet rs = null;

List<String> result = new ArrayList<String>();

try {

DataSource dataSource = (DataSource) AppUtil.getBean("hyDataSource");

conn = dataSource.getConnection();

st = conn.createStatement();

rs = st.executeQuery(sqlstr);

while (rs.next()) {

rs.getLong(0);
// rs.getString(1);
// rs.getString(2);
// rs.getString(3);
// for(int i=0;i<rs.getFetchSize();i++){
// int a= rs.getFetchSize();
// }

}

} catch (SQLException e) {

e.printStackTrace();
} finally {

try {

if (rs != null) {

rs.close();

}

if (st != null) {

st.close();

}

if (conn != null) {

conn.close();

}

} catch (SQLException e) {

e.printStackTrace();

}

}
以上sql文执行出来的结果集,在java中需要怎么处理?
如果这种方法不可以的话,还有其他什么办法么?struts2+hibernate+spring框架下还有其他什么办法可以实现表名作为动态参数,执行出来的结果接该怎么接?
展开
 我来答
寻麋儿
2015-05-11 · TA获得超过637个赞
知道小有建树答主
回答量:232
采纳率:100%
帮助的人:220万
展开全部
通常通过SQL查询语句查出来的结果集封装在ResultSet对象中,然后我们会这样处理:
把ResultSet对象中的数据取出来并封装在javabean中,所以我们需要这样写(我假设这里的javabean是Student.java 里面有private String name和private int id两个属性 ,当然你需要生成对应的getter和setter方法)
while(rs.next()){
Student s=new Student();
s.setName(rs.getString("name"));
s.setId(rs.getInt("id"));
return s;
}

这样就把相应的数据封装进javabean对象中了,当然还有一种简便的方法是用Apache开源组织的dbUtils工具 详看API 这个太多不好说
追问
关键是我的的表是动态的,所以对应的javabean也是动态的,我这边不可能写死的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式