MapSqlParameterSource的使用和DAO层sql语句加列名参数

MapSqlParameterSource的使用和DAO层sql语句加列名参数

    @Autowired
    @Qualifier(value = "namedParameterJdbcTemplate")
    private NamedParameterJdbcTemplate namedParameterJdbcTemplate; //用MapSqlParameterSource必须用NamedParameter

    private final static RowMapper<ConfPerform> CONF_PERFORM_MAPPER= BeanPropertyRowMapper.newInstance(ConfPerform.class);

    @Override
    public List<ConfPerform> findByAllPaging(Set<String> brands, String keyword, String property, String start, String limit) {
        String SQL_FIND_BY_ALL_PAGING="SELECT * FROM conf_perform  WHERE  brand IN (:brands) and (template_id like '%'+:keyword+'%' " +
                "OR perform_type_desc like '%'+:keyword+'%')   ORDER BY  "+property+"   OFFSET :start ROWS FETCH NEXT :limit ROWS ONLY";
        // sql是先找包含brand的数据,再模糊查询template_id和perform_type, 最后进行分页,property是列名,start、limit 是从几列开始,显示几行
        MapSqlParameterSource parameters=new MapSqlParameterSource(); //Set<String> & List<String> 数据类型的时候用这个
        parameters.addValue("brands",brands);
        parameters.addValue("keyword",keyword);
        parameters.addValue("start",start);
        parameters.addValue("limit",limit);
        try {
            return namedParameterJdbcTemplate.query(SQL_FIND_BY_ALL_PAGING, parameters, CONF_PERFORM_MAPPER);
        } catch (DataAccessException e) {
            log.error("Error findByAllPaging:{}",e.getMessage());
            return null;
        }
    }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值