时间:2021-07-01 10:21:17 帮助过:1人阅读
运行结果:

不过,这种方法还是有比较麻烦的地方,我们需要在map对象中逐一指定参数。
这时候,你可能不禁感慨,还是ORM框架好,类属属性能够自动与数据库表的字段映射。这里Spring JDBC在具名参数赋值时也考虑了类似的解决方法。
下面,我来介绍具名参数的第二种方法:
我们需要将具名参数定义为与类的属性名称一样的名字,然后,可以创建一个相应的类的对象,并调用相应属性的set方法赋值,之后,我们就调用update的另一个重载方法:
/*
* 使用具名参数时,可以使用int org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(String sql, SqlParameterSource paramSource) throws DataAccessException
方法进行更新操作:
1. SQL语句中的具名参数与类的属性名一致
2. 使用接口SqlParameterSource的BeanPropertySqlParameterSource实现类作为参数
*/
@Test
public void testNamedParameterJdbcTemplate2(){
//之前不适用具名参数的用法:
//String sql="insert employee(last_name,email,dept_id) values(?,?,?)";
//我们给予参数赋值必须依赖于?的顺序
// 使用具名参数的用法:
String sql="insert employee(last_name,email,dept_id) values(:lastName,:email,:deptId)";
EmployeeBean2 e=new EmployeeBean2();
e.setLastName("haha");
e.setEmail("haha@qq.com");
e.setDeptId(4);
SqlParameterSource sqlParameterSource=new BeanPropertySqlParameterSource(e);
namedParameterJdbcTemplate.update(sql,sqlParameterSource);
}
运行结果:

Spring框架笔记(二十五)——NamedParameterJdbcTemplate与具名参数
标签: