• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Liutauras Vilda
  • Paul Clapham
Sheriffs:
  • paul wheaton
  • Tim Cooke
  • Henry Wong
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Piet Souris
Bartenders:
  • Mike London

Using bind variables in Spring

 
Ranch Hand
Posts: 80
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'm doing some testing that involves database access using spring framework. I understand that I can create a query using a single bind variable using the following statement:

int countOfActorsNamedJoe = this.jdbcTemplate.queryForInt(
"select count(*) from t_actor where first_name = ?", "Joe");

I'm trying to use the queryForObject implementation described in the Spring docs (url at bottom). I have two questions about this. First I'm trying a simple implementation like this:



But it's giving me an error under queryForObject saying

The method queryForObject(String, Object[], RowMapper) in the type JdbcTemplate is not applicable for the arguments (String, String, ActorMapper)



So my first question is how do I get that working?

My second question is how do I use multiple bind variables? Let's say I wanted to say

SELECT * FROM actors WHERE first_name = XXX AND last_name = YYY"



How would I do that?

Thanks

http://static.springsource.org/spring/docs/2.0.x/api/org/springframework/jdbc/core/JdbcTemplate.html#queryForObject%28java.lang.String,%20java.lang.Object[],%20java.lang.Class%29
 
Ranch Hand
Posts: 686
Netbeans IDE Chrome Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The signature is queryForObject(String, Object[], RowMapper)

So you have to pass



Multiple variables
 
J Miller
Ranch Hand
Posts: 80
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You were absolutely right, thanks for the help. Another tip that I found is this: I then tried using LIKE rather than = using this:



This also threw me an error. Apparently you can't use '?%', you have to change it to something like this:


Thanks for the help!
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic