开发者社区 问答 正文

MySQL SQL 问题

SELECT FROM user WHERE user_id =

user_id = 全部 怎么写

补充代码,如果为空, urlname = ???; name = ???; email = ???; 这3个怎么写

public User get(String urlname, String name, String email) {
    try {
        if (urlname == null) {
            urlname = ???;
        }
        if (name == null) {
            name = ???;
        }
        if (email == null) {
            email = ???;
        }
        String sql = "SELECT * FROM tz_user WHERE deleting = 0 AND urlname = ? AND name = ? AND email = ?";
        RowMapper<User> rowMapper = new BeanPropertyRowMapper<User>(User.class);
        User user = jdbcTemplate.queryForObject(sql, rowMapper, urlname, name, email);
        return user;
    } catch (Exception e) {
        return null;
    }
}

展开
收起
a123456678 2016-07-01 11:36:44 2052 分享 版权
2 条回答
写回答
取消 提交回答
  • =全部 不用写条件的

    空的话 name is null

    2019-07-17 19:49:52
    赞同 展开评论
  • 判断 urlname, name, email为空的时候最好用 StringUtils.isNotBlank 来判断字符串是否不为空且长度不为0且不由空白符(whitespace)构成.

    try {
    StringBuffer sql = "SELECT * FROM tz_user WHERE deleting = 0 ";
    if (StringUtils.isNotBlank(urlname)) {
    sql.append( "and urlname = "+ ???);
    }
    if (StringUtils.isNotBlank(name)) {
    sql.append( "and name= "+ ???);
    }
    if (StringUtils.isNotBlank(email)) {
    sql.append( "and email= "+ ???);
    }
    RowMapper rowMapper = new BeanPropertyRowMapper(User.class);
    User user = jdbcTemplate.queryForObject(sql.toString(), rowMapper, urlname, name, email);
    return user;
    } catch (Exception e) {
    return null;
    }
    2019-07-17 19:49:52
    赞同 展开评论