当前位置: 首页 > 知识库问答 >
问题:

选择查询在哪里子句问题在SpringjdbcTem板

上官锦
2023-03-14

公共类CountryMasterModel{私有字符串CountryName[];

public String[] getCountryNames() {
    return countryNames;
}

public void setCountryNames(String[] countryNames) {
    this.countryNames = countryNames;
}

}

公共接口服务{

List<String> getCountryData(String compCode, CountryMasterModel model) throws SQLException, DataAccessException;

}

@组件公共类CountryMasterDAO实现CountryMasterService{

@Autowired
private JdbcTemplate template;

@Override
public List<String> getCountryData(CountryMasterModel model) throws SQLException, DataAccessException {
    this.template = new JdbcTemplate(DBMSSQL.getDBCon());
    System.out.println(template.getDataSource().getConnection().getCatalog());
    List<String> ids = Arrays.asList(model.getCountryNames());
    MapSqlParameterSource parameters = new MapSqlParameterSource();
    parameters.addValue("countryName", ids);
    List<String> list = new ArrayList<String>();
    list = this.template.query("SELECT NAME FROM country_master WHERE NAME IN (?)", new Object[] { ids },
            new CountryMasterResultSetExtrator());
    System.out.println("ids = " + ids);
    System.out.println("list = " + list.get(0));
    return list;
}

public static void main(String[] args) throws DataAccessException, SQLException {
    CountryMasterModel bean = new CountryMasterModel();
    String a[] = { "India", "Pakistan", "Russia", "America",};
    bean.setCountryNames(a);
    System.out.println(StringUtil.getStringArray(a));
    List<String> list = new CountryMasterDAO().getCountryData(bean);
    System.out.println("List Size = "+list.size());
}

}

在此输入图像描述

共有1个答案

苏宜人
2023-03-14

选中此行:

list = this.template.query(
          "SELECT NAME FROM country_master WHERE NAME IN (?)", 
           new Object[] { ids },
            new CountryMasterResultSetExtrator()
       );

() 需要一个参数,新对象[]{ids}有3个参数。在(?,?)中尝试此名称

有关详细信息,请查看此链接:https://www.baeldung.com/spring-jdbctemplate-in-list

 类似资料:
  • 我有以下SQL语句,它从数据库中选择公司(存储lat/lng),并显示离客户位置最近的5个位置。这是完美的工作: $query=sprintf(“选择公司名称、地址、电话、传真、联系人、电子邮件、网站、url、纬度、经度,(1.609344*3959*acos(弧度(“$center\u lat”)*cos(弧度(纬度))*cos(弧度(经度)-弧度(“$center\u lng”))sin(弧度

  • 问题内容: 我有这两个表: 学生: 班级: 我想给这个名字显示最后一个注册每个classId的学生的名字。这意味着,我应该为classId 1获得一个名称,为classId 2获得一个名称,以此类推。首先获取邮件(之后才知道学生的名字)的解决方案是: 它会打印最大日期,这是可以的,但同时也会为每个日期打印错误的邮件: 这是完全错误的()。因此,当我尝试加入用于获取名称的值时,会得到不正确的值。 换

  • 我有以下数据库模型: 在Spring数据规范中,当B.status为'X'时,我想返回A的实例。JPQL代码如下: 这些是模型类: Spring规范中的JPA标准是什么?

  • 问题内容: 使用jdbc从Java连接到mysql数据库。宣告查询 使用executQuery(query)执行查询。 如何更改以上代码以将DataFormatted.csv保存到C驱动器根目录中 问题答案: 文件保存在哪里。 在MySQL服务器的当前工作目录中。它是哪一个取决于MySQL服务器的执行和配置方式。最好是将CSV文件的位置更改为固定位置。 如何更改以上代码以将DataFormatte

  • 我是新来的Laravel,所以我有一点问题。我有表'类别'和'产品'在我的数据库。在我的模型中,我设置了如下关系: 产品php: 类别php: 我现在需要的是,我想选择所有类别及其相关产品。(用户在搜索栏中输入category name并获取类别列表,当用户选择category I时,从Categories以及与此类别相关的产品中获取所有列)。 我试过这样的方法: 也: 但这似乎不起作用,我也没有

  • 问题内容: 是否可以控制在SQLAlchemy的查询方法中查询哪些列,同时仍返回您正在查询的对象的实例(尽管已部分填充)? 还是SQLAlchemy有必要执行映射到对象? (我确实知道可以查询单个列,但不会将结果映射到对象,而仅映射到命名元组的组件)。 例如,如果User对象具有属性userid,name,password和bio,但是您希望查询仅为其返回的对象填写userid和name: 将打印