================================== 增加多条账户记录,返回受影响的行数 ================================== 实现数据访问接口方法: // 针对t_account表的数据访问接口实现 @Repository public class AccountDao implements IAccountDao { @Resource // 注入JDBC模板 private JdbcTemplate jdbcTemplate; ... // 增加多条账户记录,返回受影响的行数 @Override public int addAccounts(List accounts) { // 定义SQL语句 String sql = "insert into t_account (account_name, " + "account_type, money, remark, create_time, update_time, " + "user_id) values (?, ?, ?, ?, now(), now(), ?)"; // 执行SQL语句 int nrows = jdbcTemplate.batchUpdate( sql, new BatchPreparedStatementSetter() { // 为第i条待插入记录设置参数 @Override public void setValues(PreparedStatement ps, int i) throws SQLException { // 第i条待插入记录 Account account = accounts.get(i); // 设置参数 ps.setString(1, account.getAccountName()); ps.setString(2, account.getAccountType()); ps.setDouble(3, account.getMoney()); ps.setString(4, account.getRemark()); ps.setInt(5, account.getUserId()); } // 获取待插入记录数 @Override public int getBatchSize() { return accounts.size(); } }).length; // 所返回数组的长度即为受影响的行数 // 返回受影响的行数 return nrows; } ... } 编写测试用例: // 增加账户记录测试类 public class SpringJDBCTestAdd extends SpringJDBCTest { @Resource // 注入数据访问对象 private IAccountDao accountDao; ... // 测试:增加多条账户记录,返回受影响的行数 @Test public void testAddAccounts() { // 准备多条账户记录 List accounts = new ArrayList<>(); accounts.add(new Account( "9559984901", "农业银行", 1000.0, "补贴", 3)); accounts.add(new Account( "9559946023", "农业银行", 2000.0, "课酬", 3)); accounts.add(new Account( "9559999723", "农业银行", 3000.0, "稿费", 3)); // 增加单条账户记录,返回受影响的行数 int nrows = accountDao.addAccounts(accounts); System.out.println(getClass().getName() + "." + Thread .currentThread().getStackTrace()[1].getMethodName() + ": " + nrows); } ... } 运行测试用例: cn.tedu.springjdbc.test.SpringJDBCTestAdd.testAddAccounts: 3 看库。