我有一个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。