使用JdbcTemplate进行插入操作

使用JdbcTemplate进行插入、更新、删除操作时,使用的统一是jdbcTemplate.update(..)方法。

使用JdbcTemplate进行插入操作有以下几种情形:

第一种:传入sql和参数值,不返回主键

	public Integer save(String sql, final Object... args){
		return getJdbcTemplate().update(sql,args);
	}
或者

	public Integer save(String sql, final Object... args){
		return getJdbcTemplate().update(sql,new PreparedStatementSetter() {
			public void setValues(PreparedStatement ps) throws SQLException {
				for (int i = 0; i < args.length; i++) {
					ps.setObject(i+1, args[i]);
				}
			}
		});
	}
第二种:传入sql和参数值,返回主键
	public Integer save(final String sql, final Object... args){
		KeyHolder keyHolder = new GeneratedKeyHolder();
		return getJdbcTemplate().update(new PreparedStatementCreator() {
			public PreparedStatement createPreparedStatement(Connection coon)
					throws SQLException {
				PreparedStatement ps = coon.prepareStatement(sql);
				for (int i = 0; i < args.length; i++) {
					ps.setObject(i+1, args[i]);
				}
				return ps;
			} 
		}, keyHolder);
	}
第三种:传入sql、参数值、参数类型
	public Integer save(String sql,int[] argTypes,Object... args){
		return getJdbcTemplate().update(sql, args, argTypes);
	}
举例:save(sql,,new int[]{Types.VARCHAR,Types.INTEGER,Types.INTEGER},new Object[]{"mark", 16,1});

你可能感兴趣的:(Spring)