Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Spring NamedParameterJdbcTemplate


Автор: Tony 10.9.2007, 21:27
Использую для работы с ДБ NamedParameterJdbcTemplate. Но я не догоняю как испозовать трансакцию: commit() i rollback() ? smile 

Автор: Aoli 11.9.2007, 09:34
Спринг может сам рулить транзакцией, как в ejb.

Есть еще reference http://www.springframework.org/docs/reference/jdbc.html , но имхо, там мало про транзакции.

Автор: Tony 11.9.2007, 12:13
Написал вот-таквот:
Код

public class PersonDAOImpl extends NamedParameterJdbcDaoSupport implements PersonDAO{
    private DataSource dataSource;
    
    public boolean existPersonByLoginNameAndPassword(PersonFB personFB) {
        // TODO loginPersonDAO
        boolean result = true;
        DataSourceTransactionManager manager = new DataSourceTransactionManager(dataSource);
        DefaultTransactionDefinition td = new DefaultTransactionDefinition(TransactionDefinition.PROPAGATION_REQUIRED);
        td.setIsolationLevel(TransactionDefinition.ISOLATION_SERIALIZABLE);
        //td.setTimeout(10);
        TransactionStatus status = manager.getTransaction(td); 
        
         try {
             NamedParameterJdbcTemplate jdbcTemplate = this.getNamedParameterJdbcTemplate();
             //jdbcTemplate.queryForObject("", paramSource);
                         //all ok 
                         manager.commit(status);
            } catch (Exception e) {
             result = false;
             manager.rollback(status);
            }
            
            return result;
    }
        

    public PersonDAOImpl(DataSource dataSource) {
        super();
        this.dataSource = dataSource;
        super.setDataSource(dataSource);
    }
    //TODO
    public boolean updatePerson(PersonFB personFB){
        return true;
    }
}

Не знаю правельно ли?  Может кто обьяснит 4то такое: TransactionDefinition.PROPAGATION_REQUIRED и  TransactionDefinition.ISOLATION_SERIALIZABLE ? smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)