gpt4 book ai didi

java - 如何用 HashMap 替换 SQL 查询字符串

转载 作者:太空宇宙 更新时间:2023-11-04 12:40:18 25 4
gpt4 key购买 nike

我正在尝试使用 HashMap 来硬编码值,而不是使用查询。

下面是通过 ParameterizedRowMapper 返回 person 类型对象的“工作”代码和 SQL。

Public List<Personnel> getPersonnel (long id) {

LinkedList<Long> arg = new LinkedList<Long>();
String query = null;
SimpleJdbcTemplate template;



query = "SELECT p.id, p.name, e.emp_type
"FROM " Personnel p, EmployeeType e"
"WHERE p.id = ? ";
args.addLast(id);

return (template.query(query.toString(),
this.personnelRowMapper(), arg.toArray()));

人员行映射器

private ParameterizedRowMapper<Personnel> personnelRowMapper()
throws SQLException
{

ParameterizedRowMapper<Personnel> map;

map = new ParameterizedRowMapper<Personnel>()
{

public Personnel mapRow(final ResultSet rs)
throws SQLException
{

Personnel personnel= null;

personnel = Personnel.Factory.newInstance();
personnel.setId(rs.getLong("id"));
personnel.setFirstName(rs.getString("Fname"));
personnel.setMiddleName(rs.getString("MName"));
personnel.setLastName(rs.getString("Lname"));

return (contact);
}
};

return (map);
}

这里是使用HashMap而不是查询的代码。

Public List<Personnel> getPersonnel (long id) {
List< Personnel > fb = new ArrayList< Personnel >();
HashMap<String, String> rs = new HashMap<String, String>();
rs.put("Fname", "John");
rs.put("Lname", "Stoops");
rs.put("Mname", "K.");

String val1 = (String)rs.get("Fname");
String val2 = (String)rs.get("Lname");
String val3 = (String)rs.get("Mname");

//these 3 lines give me errors
fb.add(val1);
fb.add(val2);
fb.add(val3);

return fb;

以下是我的错误:“实际参数列表和正式参数列表的长度不同”“实参String无法通过方法调用转换转换为Contact”

如何使用 HashMap 而不是 SQL 返回人员类型列表?

最佳答案

谢谢。创建了一个新的人员实例。然后设置并把数据全部取出来。

关于java - 如何用 HashMap 替换 SQL 查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36892644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com