Spring 使用具名参数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40745306/article/details/88857834

<!-- 配置NamedParameterJdbcTemplate,该对象可以使用具名参数,其没有无参数的构造器,所以必须为其构造器指定参数 -->
    <bean id="namedParameterJdbcTemplate" 
        class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
        <constructor-arg ref="dataSource"></constructor-arg>
    </bean>

/**
     * 可以为参数起名字。
     * 1、若有多个参数,便于维护,不用再去对应位置,直接对应参数名
     */
    //@Test
    public void testNamedParameterJdbcTemplate()
    {
        String sql="insert into employee(id,name,sex,dept_id) values(:npjtid,:npjtname,:npjtsex,:npjtsept_id)";
        Map<String,Object> paramMap=new HashMap<>();
        paramMap.put("npjtid",10);
        paramMap.put("npjtname","李小龙");
        paramMap.put("npjtsex","男");
        paramMap.put("npjtsept_id",1);
        namedParameterJdbcTemplate.update(sql, paramMap);
    }

    /**
     * 使用具名参数时,可以使用update(String sql, SqlParameterSource paramSource) 方法进行更新操作
     * 1、SQL语句中的参数名和类的属性一致
     * 2、使用SqlParameterSource 的BeanPropertySqlParameterSource 实现类作为参数
     * 
     */
    @Test
    public void testNamedParameterJdbcTemplate2()
    {
        String sql="insert into employee(id,name,sex,dept_id) "
                + "values(:id,:name,:sex,:dept_id)";
        Employee employee=new Employee();
        employee.setId(11);
        employee.setName("叶问");
        employee.setSex("男");
        employee.setDept_id(2);
        SqlParameterSource paramSource=new BeanPropertySqlParameterSource(employee);
        namedParameterJdbcTemplate.update(sql, paramSource);
        
    
    }

猜你喜欢

转载自blog.csdn.net/weixin_40745306/article/details/88857834