【发布时间】:2020-04-17 09:33:56
【问题描述】:
有人问我如何改进下面的代码。任何的意见都将会有帮助!我认为这应该是一个非常简单的问题,答案非常简单。
public List getPlanets(DataSource d, String galaxy) throws SQLException
{
Connection c;
Statement s;
ResultSet rs;
Planet p;
c = d.getConnection();
s = c.createStatement();
rs = s.executeQuery("select * from planets where galaxy = '" + galaxy + "'");
List l = new ArrayList();
while (rs.next())
{
p = new Planet();
p.setName(rs.getString("name"));
p.setDiameter(rs.getString("diameter"));
p.setMass(rs.getString("mass"));
l.add(p);
}
return l;
}
【问题讨论】:
-
我认为您应该使用参数化查询而不是使用连接的普通 SQL。不使用参数化查询是不好的编程习惯。另外,不用逐个设置行星的每个属性,只需创建另一个构造函数并将 rs 对象传递给它,它可以相应地设置值。
标签: javascript html mysql