将参数传递给 SimpleJdbcTemplate 的好方法是什么

发布于 2024-11-28 15:49:27 字数 427 浏览 1 评论 0原文

对于 Spring 和 Jdbc 来说还很陌生,我正在看 Spring 书中的代码,它是这样的:

public voidaddSpitter(Spitterspitter){
jdbcTemplate.update(SQL_INSERT_SPITTER,
spitter.getUsername(),
spitter.getPassword(),
spitter.getFullName(),
spitter.getEmail(),
spitter.isUpdateByEmail());
spitter.setId(queryForIdentity());
}

好吧,所以第一个参数应该是我的 SQL 语句,但是对于第二个参数,如果有的话,它在代码中会变得丑陋吗?就像我的表中有 15 列,我想编写 15 行这些 .get() 方法?有没有更好/更干净的方式来传递这些?

being pretty new to Spring and Jdbc, I am looking at a code from a Spring book and it is like this:

public voidaddSpitter(Spitterspitter){
jdbcTemplate.update(SQL_INSERT_SPITTER,
spitter.getUsername(),
spitter.getPassword(),
spitter.getFullName(),
spitter.getEmail(),
spitter.isUpdateByEmail());
spitter.setId(queryForIdentity());
}

Ok, so first param should be my SQL statement, but for the second param well does it get ugly in the code if there are like 15 columns in my table and I want to write 15 lines of those .get() methods? is there any nices/cleaner way of passing these?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

2024-12-05 15:49:27

将值获取到对象列表中(在辅助方法中?),并在传递给 update() 时将其转换为数组。

例如:

List<Object> insertValues = new ArrayList<Object>();
....
insertValues.add(spitter.getUsername());
....

jdbcTemplate.update(SQL_INSERT_SPITTER, insertValues.toArray());

Get the values into an Object List (in a helper method ?) and convert it into an array while passing to update().

For eg:

List<Object> insertValues = new ArrayList<Object>();
....
insertValues.add(spitter.getUsername());
....

jdbcTemplate.update(SQL_INSERT_SPITTER, insertValues.toArray());
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文