Spring Named Parameters examples in SimpleJdbcTemplate
来源:互联网 发布:平均场理论 复杂网络 编辑:程序博客网 时间:2024/06/04 19:45
In JdbcTemplate
, SQL parameters are represented by a special placeholder “?
” symbol and bind it by position. The problem is whenever the order of parameter is changed, you have to change the parameters bindings as well, it’s error prone and cumbersome to maintain it.
To fix it, you can use “Named Parameter“, whereas SQL parameters are defined by a starting colon follow by a name, rather than by position. In additional, the named parameters are only support in SimpleJdbcTemplate
and NamedParameterJdbcTemplate
.
See following three examples to use named parameters in Spring.
Example 1
Example to show you how to use named parameters in a single insert statement.
//insert with named parameter public void insertNamedParameter(Customer customer){ String sql = "INSERT INTO CUSTOMER " + "(CUST_ID, NAME, AGE) VALUES (:custId, :name, :age)"; Map<String, Object> parameters = new HashMap<String, Object>(); parameters.put("custId", customer.getCustId()); parameters.put("name", customer.getName()); parameters.put("age", customer.getAge()); getSimpleJdbcTemplate().update(sql, parameters); }
Example 2
Examples to show how to use named parameters in a batch operation statement.
public void insertBatchNamedParameter(final List<Customer> customers){ String sql = "INSERT INTO CUSTOMER " + "(CUST_ID, NAME, AGE) VALUES (:custId, :name, :age)"; List<SqlParameterSource> parameters = new ArrayList<SqlParameterSource>(); for (Customer cust : customers) { parameters.add(new BeanPropertySqlParameterSource(cust)); } getSimpleJdbcTemplate().batchUpdate(sql, parameters.toArray(new SqlParameterSource[0])); }
Example 3
Another examples to use named parameters in a batch operation statement.
public void insertBatchNamedParameter2(final List<Customer> customers){ SqlParameterSource[] params = SqlParameterSourceUtils.createBatch(customers.toArray()); getSimpleJdbcTemplate().batchUpdate( "INSERT INTO CUSTOMER (CUST_ID, NAME, AGE) VALUES (:custId, :name, :age)", params); }
- Spring Named Parameters examples in SimpleJdbcTemplate
- Spring Named Parameters examples in SimpleJdbcTemplate
- Spring SimpleJdbcTemplate Querying examples
- Spring SimpleJdbcTemplate Querying examples
- SPring SimpleJdbcTemplate
- Named parameters
- Spring 2.0的SimpleJdbcTemplate
- Spring SimpleJdbcTemplate教程
- Spring SimpleJdbcTemplate batchUpdate() example
- Spring SimpleJdbcTemplate batchUpdate() example
- Hibernate named query examples
- Named Parameters for PreparedStatement
- kettle Named Parameters
- Spring+SimpleJdbcTemplate+SimpleJdbcDaoSupport+SimpleJdbcInsert+SimpleJdbcCall
- Spring中SimpleJdbcTemplate查询用法
- Spring的JdbcTemplate、NamedParameterJdbcTemplate、SimpleJdbcTemplate
- Spring的JdbcTemplate、NamedParameterJdbcTemplate、SimpleJdbcTemplate
- Spring的JdbcTemplate、NamedParameterJdbcTemplate、SimpleJdbcTemplate
- 关于html5 base64图片的转换FileReader()和canvas的操作方法
- 双链表 double linked list
- Perl学习(七)
- Scala学习笔记--单例,伴生对象及apply用法
- 最大权闭合图 hdu 3879 Base Station 有模板!
- Spring Named Parameters examples in SimpleJdbcTemplate
- Android Studio常用设置方法
- Linux麒麟下金仓数据库配置ODBC数据源
- ZOJ 3868 GCD Expectation (容斥+莫比乌斯反演)
- Java运算符优先级表
- 为什么多线程读写 shared_ptr 要加锁?
- 用Netty开发中间件:网络编程基础
- 腾讯实习求职经历-百转千回终取offer(后附大量面试题)
- iOS中陀螺仪的使用