简体   繁体   English

带有 5 个用于插入的参数的 jdbcTemplate 查询

[英]jdbcTemplate query with 5 parameters for insert

I am building a Spring application and in my Repository I have to insert an sql query that has 5 parameters and I tried jdbcTemplate.query or queryForList or Map but it gives me error.我正在构建一个 Spring 应用程序,在我的存储库中我必须插入一个具有 5 个参数的 sql 查询,我尝试了 jdbcTemplate.query 或 queryForList 或 Map 但它给了我错误。

Here is the code:这是代码:

@Repository
public class BilantErrRepository {
    
    @Autowired
    private DataSource dataSourceMail;
    
    public List<BilantErr> search() {
        
        List<BilantErr> info1 = new ArrayList<>();
        BilantErr bilant = new BilantErr();
        
        JdbcTemplate jdbcTemplate = new JdbcTemplate(this.dataSourceMail);
        String sql = "INSERT into Aaa (cui,an, data_autorizare,operator,motivatie, tip_perioada) VALUES (?,?,sysdate,?,?,?)";
        info1 = jdbcTemplate.query(sql, bilant.getCui(),bilant.getAn(),bilant.getOperator(),bilant.getOperator(),bilant.getPerioada());
        
        
        return info1;
    }

}

What method can I use to do this insert?我可以用什么方法来做这个插入? Thanks谢谢

Use jdbcTemplate.update(String sql, Object... args) method:使用jdbcTemplate.update(String sql, Object... args)方法:

jdbcTemplate.update(
    "INSERT INTO schema.tableName (column1, column2) VALUES (?, ?)",
    var1, var2
);

or jdbcTemplate.update(String sql, Object[] args, int[] argTypes) , if you need to map arguments to SQL types manually:jdbcTemplate.update(String sql, Object[] args, int[] argTypes) ,如果您需要手动 map arguments 到 SQL 类型:

jdbcTemplate.update(
    "INSERT INTO schema.tableName (column1, column2) VALUES (?, ?)",
    new Object[]{var1, var2}, new Object[]{Types.TYPE_OF_VAR1, Types.TYPE_OF_VAR2}
);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM