Postgresql没有以编程方式更新

时间:2016-11-22 15:43:50

标签: java spring postgresql jdbctemplate

我有一个DAO层,它在数据库中将标志设置为yes。 道层:

public boolean setActivationFlag(String msis, String activation) {
    String SQL = "update walletapp.users_kyc set ACTIVATED = :activation where MSIS = :msis";
    logger.info("update query:::::::::::::::"+ SQL);
    Map<String,String > namedParameters = new HashMap<String, String>();
    namedParameters.put("msis", msis);
    namedParameters.put("activation", activation);


    int noOfRows = nJdbcTemplate.update(SQL,namedParameters);
    logger.info("noOfRows"+ noOfRows);
    logger.info("User Activated Successfully : [ "+ msis + activation+" ]");
    return noOfRows > 0 ? true : false;

我使用spring进行自动装配 - e.abcDao(msis, activation);

但是数据库中没有设置值。我在postgresql中使用了字符变化作为数据类型。

我发现当我将ID:460000/MSIS作为msis发送到where条件时,查询失败了。但它适用于普通字符串,如8788ccid。任何人都可以解释为什么会发生这种情况,是否可以处理String中的:

我使用split(“:”)只获得460000 / MSIS。

0 个答案:

没有答案