Vra

Die lente Framework het twee soortgelyke klasse: JdbcTemplate is die ou, Java 1.4 klas, en SimpleJdbcTemplate is nuwer, met mooier metodes

.

JdbcTemplate het 'n metode setQueryTimeout , wat basies gee my toegang tot 'n metode met dieselfde naam op die onderliggende Verklaring voorwerp.

Is daar enige manier om iets soortgelyks met 'n SimpleJdbcTemplate ?

Oplossing : Op grond van antwoord skaffman se, Ek skep die SimpleJdbcTemplate myself beswaar van 'n JdbcTemplate, so nou het ek kan doen wat ek wil. Kode:

JdbcTemplate jdbcTemplate = this.getJdbcTemplate();
jdbcTemplate.setQueryTimeout(30);
SimpleJdbcTemplate simpleJdbcTemplate = new SimpleJdbcTemplate(jdbcTemplate);

'n bietjie van 'n mondvol, maar kry die werk gedoen.

Update : Dit is inderdaad meer ingewikkeld as wat nodig is. Sien die antwoord.

Was dit nuttig?

Oplossing

SimpleJdbcTemplate is nie 'n plaasvervanger vir JdbcTemplate, dit is net 'n java5-vriendelike aanvulling om dit vir sekere bedrywighede wat die beste voordeel kan trek uit varargs en generiese.

As jy kyk na die bron vir SimpleJdbcTemplate, sal jy sien dat dit afgevaardigdes al sy werk tot 'n JdbcTemplate voorwerp, en so deur die oprigting van die tydverstreke (of die ander opsies) op JdbcTemplate, jy implisiet stel hulle op die SimpleJdbcTemplate ook.

As jy die SimpleJdbcTemplate via SimpleJdbcDaoSupport.getSimpleJdbcTemplate() is die verkryging van, dan die JdbcTemplate sal reeds korrek bedraad up.

wysig:

Byvoorbeeld:

public class MyDao extends SimpleJdbcDaoSupport {
    public void doStuff() {
        getJdbcTemplate().setQueryTimeout(x);
        getSimpleJdbcTemplate().execute(...);
    }
}

Die SimpleJdbcTemplate bevat dieselfde JdbcTemplate soos opgespoor deur getJdbcTemplate ().

As jy nie SimpleJdbcDaoSupport brei, dan ja, wat jy nodig het om 'n SimpleJdbcTemplate jouself met die hand te bou.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top