ResultSet数据自动绑定到JavaBean中的工具类如何使用?
下面这个类如何用:http://www.xuebuyuan.com/1292846.html请一个举例子。非常感谢已经有ResultSetrs;查询结果的bean也有了。...
下面这个类如何用:
http://www.xuebuyuan.com/1292846.html
请一个举例子。非常感谢
已经有ResultSet rs;
查询结果的bean也有了。
如何通过上面的这个类把rs转bean 展开
http://www.xuebuyuan.com/1292846.html
请一个举例子。非常感谢
已经有ResultSet rs;
查询结果的bean也有了。
如何通过上面的这个类把rs转bean 展开
1个回答
推荐于2016-09-03
展开全部
例如有个Student类(javabean)要有set 和get方法
List<Student> lst = new SetBean().getList(Student.class,rs);
Student stu = new SetBean().getObj(Student.class,rs);
注意:这个网站上的方法使用的get和set方法,这个需要注意下数据库的字段和bean字段的对应。也可以参考下面的处理方式:
public static <T> T queryObject(String sql,java.sql.Connection conn,java.util.List<Object> params,Class<T> clazz) throws java.sql.SQLException, InstantiationException, IllegalAccessException, NoSuchFieldException, SecurityException, NoSuchMethodException, IllegalArgumentException, java.lang.reflect.InvocationTargetException {
java.sql.PreparedStatement ps = null;
java.sql.ResultSet rs = null;
java.sql.ResultSetMetaData rsmd = null;
T resultObject = null;
try {
ps = conn.prepareStatement(sql);
if(params !=null && !params.isEmpty()) {
int index = 1;
for(Object obj : params) {
ps.setObject(index++, obj);
}
}
rs = ps.executeQuery();
rsmd = rs.getMetaData();
int colNums = rsmd.getColumnCount();
while(rs.next()) {
resultObject = clazz.newInstance();
for(int i = 0; i < colNums; i++) {
String colName = rsmd.getColumnName(i + 1);
Object colValue = rs.getObject(colName);
java.lang.reflect.Field field = clazz.getDeclaredField(colName);
field.setAccessible(true); //打开javabean的访问权限
field.set(resultObject, colValue);
}
}
} finally {
cleanup(conn, ps, rs);//清理数据库资源
}
return resultObject;
}
追问
爽呆了 第3个参数是干什么的params?
插入或更新语句需要用params吗?
你的这个方法中javabean需要有特别的地方吗?
这个方法调用正常,但是返回错误。报错bean cannot be cast to java.util.List。
返回List list吗
另外 你这个方法中的数据库的字段和bean字段的也必须对应吗?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询