为什么我这样做会报错?

来源:3-5 查询1

MasonM

2019-07-19 16:55:41

@org.junit.Test
public void testQueryMap2() {
    String sql = "select * from student where id=?";
    List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql,1,2,3);
    System.out.println(maps);
}

http://img.mukewang.com/climg/5d31857d0001080717660573.jpg

http://img.mukewang.com/climg/5d31858800013b4f18260441.jpg

写回答

3回答

芝芝兰兰

2019-07-19

同学你好,?是占位符,?的个数决定了可以设置的参数的个数。对于sql中只有一个?的情况,只有以下两种:

非基本数据类型的,第二个参数为指定的类,第三个参数是实际的参数值

基本数据类型的,第二个参数就是应该替换了?的参数值

http://img.mukewang.com/climg/5d319c580001be9008630288.jpg

如果解答了同学的疑问,望采纳~

祝学习愉快~

0
hasonM
h 我懂了老师,我以为是可以对同一条sql语句,然后再为每一次查询赋值
h019-07-20
共1条回复

MasonM

提问者

2019-07-19

http://img.mukewang.com/climg/5d3185bd000134e810080218.jpg

我是按照这个来设置参数的呀,第二个参数是来设置sql中?的赋值参数嘛

0

MasonM

提问者

2019-07-19

http://img.mukewang.com/climg/5d31859d0001f88407930599.jpg

数据库中有三条数据的

0

0 学习 · 8263 问题

查看课程