SimpleJdbcTemplate用法查询实例
SimpleJdbcTemplate stj=ac.getBean("jdbcTemplate",SimpleJdbcTemplate.class);
String selectsql1="selectage from users where id = 1 ";
//获得查询结果int的age
intage=stj.queryForInt(selectsql1);
System.out.println(age);//1
System.out.println("----------------");
//将查询结果包装为一个Map类型key=字段名,value=字段值
Map<String,Object> map=stj.queryForMap(selectsql1);
System.out.println(map);//{age=1}
String select2="select * fromusers where id = 1 ";
//将查询的每一条记录包装为Map
List<Map<String,Object>> list= stj.queryForList(select2);
System.out.println(list.get(0));//{id=1,uname=zhangsan, age=1}
//Users类是一个对应于表的Java Bean ,UsersRowMapper实现RowMapper接口的mapRow方法,将结果包装为一个Users
Users u= stj.queryForObject(select2, newUsersRowMapper());
System.out.println(u.getUname());//zhangsan
//查询出多个结果,每一行都包装为一个Users
List<Users> l= stj.query(select2,new UsersRowMapper());
System.out.println(l.get(0).getUname());//zhangsan
在SimpleJdbcTemplate中同样支持参数查询
String selectsql1="selectage from users where id = ? ";
//该方法可以接受多个Object,分别对应于查询语句中的?
int age=stj.queryForInt(selectsql1, Integer.valueOf(1));
System.out.println(age);//1
String selectsql1="selectage from users where id = :uid ";
Map<String,Object> map=newHashMap<String,Object>();
map.put("uid", Integer.valueOf(1));
//接受一个Map类型的参数,里面含有变参的值
intage=stj.queryForInt(selectsql1, map);
System.out.println(age);//1
MapSqlParameterSourcesource=new MapSqlParameterSource("uid",Integer.valueOf(1));
intage=stj.queryForInt(selectsql1, source);
System.out.println(age);//1