问题描述
我是 spring 世界的新手,在上面的代码中我理解查询,但我不明白为什么"new MapSqlParameterSource("username" ,username)" 使用了吗?
I am new to spring world, in above code i understand query but i don't get why"new MapSqlParameterSource("username" ,username)" is used?
public boolean exists(String username) {
return jdbc.queryForObject("select count(*) from users where username=:username",
new MapSqlParameterSource("username" ,username),Integer.class)>0; }
使用它的目的是什么?
提前致谢
推荐答案
这是因为有些开发者不喜欢在 sql 语句中使用 ?
.这个 ?
是如何命名或引用的(主要是第一个):
It is because some developers do not like use ?
in a sql sentence.This ?
is named or referred how (mostly the first):
- 占位符
- 绑定参数
因此 Spring 提供了相同的方法,例如 Hibernate/JPA 如何使用 :parameter
,它通过 MapSqlParameterSource
类.
Therefore Spring offers the same approach, it such as how Hibernate/JPA does with :parameter
, it through the MapSqlParameterSource
class.
我建议你也研究一下 RowMapper
.
I suggest you do a research about RowMapper<T>
too.
这篇关于为什么我们使用 MapSqlParameterSource的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!