StringJDBC更改数据库的两种方式
2015-09-08 15:20
274 查看
方法一 jdbcTemplate.update("INSERT INTO USER VALUES(?, ?, ?, ?)", new Object[] {user.getId(), user.getName(), user.getSex(), user.getAge()}); 方法二 final String id = user.getId(); final String name = user.getName(); final String sex = user.getSex() + ""; final int age = user.getAge(); jdbcTemplate.update("INSERT INTO USER VALUES(?, ?, ?, ?)", new PreparedStatementSetter() { public void setValues(PreparedStatement ps) throws SQLException { ps.setString(1, id); ps.setString(2, name); ps.setString(3, sex); ps.setInt(4, age); } }); 方法三 实现implements RowMapper接口,详见前面的文章
效率上基本没有区别,方法一最终还是要掉方法二来进行实现,只不过在方法一传的参数数组进去,方法一会帮你构造一个PreparedStatementSetter,然后调用方法二进行执行,所以有中间这个构造过程,如果对效率要求特别高,那就用方法二了 方法一源码: public int update(String sql, Object... args) throws DataAccessException { return update(sql, newArgPreparedStatementSetter(args));//这个被调用的方法就是方法二了 } protected PreparedStatementSetter newArgPreparedStatementSetter(Object[] args) { return new ArgPreparedStatementSetter(args); }
相关文章推荐
- MySQL技术之旅--随意写在前面的话
- [H2]嵌入式数据库配置及自定义函数扩展
- SQL一行以某個字符拆分多行
- Oracle数据字典
- MySQL允许远程连接的设置总结
- redis剖析(一)redis性能
- MongoDB 索引简单使用技巧
- Memcached存储命令
- 使用SQL Sever 2008R2备份数据
- SQL 一对多关系检索多行中的一条记录
- VS2015编译连接mongodb(mongodb C++ driver)
- PLSQL基础概念
- mysql limit使用方法
- MySQL字符串函数substring:字符串截取
- mac下安装redis以及redis扩展-----xampp
- SQL Server 2008 中收缩数据库(DUMP,TRANSACTION,TRAN,无效,语法错误)
- 数据库连接方式
- Centos7 安装kilo-2 controller(ntp mariadb rabbitmq)
- SQL注意事项
- Oracle CRS/GI 进程介绍