Senhores, boa noite. Estou desenvolvendo um projetinho aqui em casa como forma de estudo do spring. Não estou utilizando nenhum framework de acesso a bd (hibernate, jpa, etc) primeiro porque não tenho conhecimento tão bom nisso pra começar do zero e também porque fico mais a vontade em fazer tudo na mão, do meu jeito assim posso ver como toh com sql.
Pelos motivos acima citados estou utilizando SimpleJdbcTemplate que é fornecido pelo Spring. De acordo com o site do spring, o spring traduz as exceções lancadas pelo jdbc e lança suas próprias exceções. Sendo assim fiz os seguintes testes: tentei violar uma chave única, inserir em uma tabela com um usuário sem direito a inserção e colocar um texto no local de um número. Nestes casos eu imaginei que o spring iria lançar respectivamente as exceções: DataIntegrityViolationException, PermissionDeniedDataAccessException e DataIntegrityViolationException mas para a minha surpresa eu obtive as seguintes exceções MySQLIntegrityConstraintViolationException, MySQLSyntaxErrorException e SQLException.
Gostaria de saber se vcs já fizeram algo parecido, se eu preciso fazer alguma configuração no meu xml para que o spring "traduza" as exceções ou se isso já é automático. Segue abaixo um trecho do meu xml:<!-- Configuração de conexão com banco de dados via JDBC -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="url" value="jdbc:mysql://localhost/controlegastos"></property>
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="username" value="usuario"></property>
<property name="password" value="senha"></property>
</bean>
<bean id="jdbcTemplate"
class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate">
<constructor-arg ref="dataSource" />
</bean>
public void salvar(Usuario usuario) {
String sql = "INSERT INTO usuario (nome, sobrenome, apelido, senha) VALUES(?,?,?,?)";
template.update(sql, usuario.getNome(), usuario.getSobrenome(), usuario.getApelido(), usuario.getSenha());
}
Agradeço atenção de tdos.