zoukankan      html  css  js  c++  java
  • StringJDBC更改数据库的两种方式

    方法一
    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);
    }
  • 相关阅读:
    6410实现网卡(DM9000A)收发功能及ARP协议实现
    Shuffling Machine和双向链表
    Have Fun with Numbers及循环链表(约瑟夫问题)
    Tiny6410 LCD设置
    RAM与内存
    inet_addr解析
    map容器find用法
    WinSock编程(TCP)
    Python 时间序列作图及注释
    无法打开之前cuda的vs项目,打开之后变灰色
  • 原文地址:https://www.cnblogs.com/zrui-xyu/p/4791827.html
Copyright © 2011-2022 走看看