我有一个名为employee的对象,它有很长的属性列表,我正在从数据库中查找值并需要将它们放入employee对象中,我正在执行以下操作,但由于代码很长,我想知道是否它有任何捷径。
Employee emp = new Employee();
try {
ps = con.prepareStatement("select * from Employee WHERE username = ?");
ps.setString(1, username);
ResultSet r = ps.executeQuery();
if (r.next()) {
// 12 lines to put values into employee object need to be shorter
emp.setID(r.getInt(1));
emp.setTitle(r.getString(2));
emp.setFname(r.getString(3));
emp.setLname(r.getString(4));
emp.setMobile(r.getString(5));
emp.setPhone(r.getString(6));
emp.setEmail(r.getString(7));
emp.setPosition(r.getString(8));
emp.setUsername(r.getString(9));
emp.setPassword(r.getString(10));
emp.setQuestion(r.getString(11));
emp.setAnswer(r.getString(12));
}
}.....
答案 0 :(得分:2)
使用Apache Commons BeanProcessor。它有两个非常有用的方法,只有这个叫做toBean和toBeanList。
在这种情况下,您只需执行此操作:
if (r.next()) {
BeanProcessor bp = new BeanProcessor();
emp = bp.toBean(r, Employee.class);
}
答案 1 :(得分:0)
正如Jigar Joshi在评论中所提到的,Hibernate之类的ORM框架在这里是个不错的选择。
这是一个让你入门的例子。