【问题标题】:SpringMVC GetJdbcTemplate() getting value from querySpringMVC GetJdbcTemplate() 从查询中获取值
【发布时间】:2012-09-18 23:08:26
【问题描述】:

我有一个函数,我想从我使用 getJdbcTemplate 的查询中提取值,我通过传递一个字符串查询和一个对象然后从对象中访问值来提取值。我想在您实际传递字符串时访问该值。我的代码是:

这里我使用 Map 但我没有传递对象 Map results = getJdbcTemplate().queryForMap(sql, userName) 并且 userName 是一个字符串。我必须使用地图,但这是怎么写的。

public boolean OfficerExist(Officers officer){


    try{

        logger.debug("About to check if officers existing");

        String sql = "SELECT userName FROM crimetrack.tblofficers WHERE userName = ?";

        logger.info("User Name Found 1");

        * Map<String, Object> results = getJdbcTemplate().queryForMap(sql, userName);

        logger.info("User Name Found 2");

        String dbUserName = (String)results.get("userName");

        logger.info("Checking if officers exist "+sql);

        if (dbUserName.equals(userName)) {

            logger.info("User Name Exists");
            return true;

        }else{
            logger.info("User Name Does NOT Exists");
            return false;
        }
        logger.info("User Name Found 3");

        return true;

    }catch(Exception e){

        logger.info(e.getMessage());
        return false;
    }
}

【问题讨论】:

  • 不完全确定您的要求和/或打算做什么。但是你上面的内容既不会编译也不适合简单的“官员是否存在”查询。在这里查看一些 JdbcTemplate 使用示例:mkyong.com/spring/spring-jdbctemplate-querying-examples
  • 我正在尝试检查数据库以查看用户名是否存在。我执行查询并提取查询返回的值。一旦我提取了价值,我就可以做某事,或者如果它不做其他事情。

标签: sql spring spring-mvc jdbc jdbctemplate


【解决方案1】:

要尝试的一件事是代替 Map,也许尝试只查询 Object,因为您知道您只是在查询用户名。

getJdbcTemplate().queryForObject("select username...", String.class, userName)


public String findCustomerNameById(int custId){

String sql = "SELECT NAME FROM CUSTOMER WHERE CUST_ID = ?";

String name = (String)getJdbcTemplate().queryForObject(
        sql, new Object[] { custId }, String.class);

return name;

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    • 1970-01-01
    • 1970-01-01
    • 2015-10-01
    相关资源
    最近更新 更多