StringJDBC更改数据库的两种方式
2024-10-21 14:28:35
方法一
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);
}
最新文章
- Android 软引用
- flask-admin章节三:数据库迁移工具 alembic初步使用
- Android--Retrofit+RxJava(二)
- sublime 使用技巧
- 2014 网选 5012 Dice(bfs模板)
- windows内核编程之常用数据结构
- SpringMVC使用中遇到的问题总结
- 将服务费用DIY到底----走出软件作坊:三五个人十来条枪 如何成为开发正规军(十)[转]
- JBOSS批量扫描
- Power of Four
- Link方式导入java项目
- js定时器让动画隔秒运动
- [C++]_ELVE_Windows下QT5.12连接MySql8.0解决方案
- C#中将ListView数据导出为excel(转载)
- ROIAlign, ROIPooling及ROIWarp对比
- HTML 09 web 内容与攻击技术
- iOS-WKWebView的使用
- STM32 --- 什么时候打开复用IO的时钟(比如RCC_APB2Periph_AFIO)
- CentOS+Uwsgi+Nginx发布Flask开发的WebAPI
- vue 中安装使用sass 报错遇到的问题整理
热门文章
- js 获得网页背景色和字体色
- JS中常用坐标offset、scroll、client的区别
- 常见文本框提示css技巧
- echarts使用技巧(一)echarts的图表自适应resize问题、单选、缩放等
- TensorFlow 入门 上(自用)
- Report Studio中目录结构报表浅析
- Kaggle : Display Advertising Challenge( ctr 预估 )
- 通过Intel XDK编写跨平台app(一)
- 使用javascript开发的视差滚动效果的云彩 极客标签 - 做最棒的极客知识分享平台
- MongoDB 在 Mac OSX 平台安装