从jdbc结果集填充类
现在,我像这样填充我的课程:从jdbc结果集填充类,jdbc,java,Jdbc,Java,现在,我像这样填充我的课程: Part part = new Part(); ResultSet rs = statement.executeQuery(); part.setBrand(rs.getString("P_BRAND")); part.setComment(rs.getString("P_COMMENT")); part.setContainer(rs.getString("P_CONTAINER")); part.setMfgr(rs.getString("P_MFGR"));
Part part = new Part();
ResultSet rs = statement.executeQuery();
part.setBrand(rs.getString("P_BRAND"));
part.setComment(rs.getString("P_COMMENT"));
part.setContainer(rs.getString("P_CONTAINER"));
part.setMfgr(rs.getString("P_MFGR"));
part.setName(rs.getString("P_NAME"));
是否有另一种快速填充零件对象的方法?
类似于该方法(Part.class,Part,rs)并返回一个填充的Part类。如果您编写一个方法来构造
Part
对象,您将在那里执行相同的工作以将数据复制到其中
但是,如果您重复地构造部分
对象,那么拥有一个方法会使它更易于维护和组织代码
拥有一个方法并不一定会使它变得快速,它只会使代码更加简洁,避免代码重复(即原则)。您可能还想利用这里的模式
另一个选择是使用Apache—它为您提供了许多有用的实用工具方法
但是,如果您谈论的是始终从JDBC结果集复制到内部DTO对象,并且愿意利用spring框架,那么您可以使用来自它的。另外还有带有Hibernate、iBatis等的ORM路由。简短回答:否
原则上,您可以编写一个函数,使用反射包从ResultSet中填充bean。但坦率地说,我认为这将是一个笨拙和全面的坏主意
如果您确实需要通用数据,可以使用字段名作为每个条目的键来创建哈希映射。但对于正常使用,这也是一个坏主意,因为它会在识别字段名拼写错误时产生问题
简而言之,您最好将字段一个接一个地从结果集中复制出来。通常这没什么大不了的。每个字段需要一行代码。我想如果你的表中有100个字段,那会很痛苦。如果我正确理解你的问题,你可以编辑Part类的构造函数来接受这些值
Part part;
ResultSet rs = statement.executeQuery();
part = new Part(rs.getString("P_BRAND"), rs.getString("P_COMMENT"), rs.getString("P_CONTAINER"),
rs.getString("P_MFGR"), rs.getString("P_NAME"));
简短回答:是的
详细回答:
答案有几种途径: