Spring’de RowMapper Kullanımı

sametklou

Spring’de RowMapper Kullanımı

Spring framework'ü kullanarak JDBC ile veritabanı işlemleri yaparken, ResultSet'ten dönen verileri Java nesnelerine dönüştürmek için RowMapper kullanılır. Bu makalede Spring'de RowMapper'ı nasıl kullanacağınızı adım adım açıklayacağız.

Adım 1: Veritabanı Bağlantısı Oluşturma

Öncelikle bir DataSource bean'i oluşturarak veritabanına bağlanmanız gerekmektedir. Aşağıdaki kod bloğunda PostgreSQL veritabanına bağlanan bir DataSource bean'i örneği bulunmaktadır:

@Bean
public DataSource dataSource() {
    DriverManagerDataSource dataSource = new DriverManagerDataSource();
    dataSource.setDriverClassName("org.postgresql.Driver");
    dataSource.setUrl("jdbc:postgresql://localhost:5432/mydatabase");
    dataSource.setUsername("username");
    dataSource.setPassword("password");
    return dataSource;
}

Adım 2: JdbcTemplate Bean'i Oluşturma

JdbcTemplate sınıfını kullanarak veritabanı işlemlerini gerçekleştireceğiz. Aşağıdaki kod bloğunda JdbcTemplate bean'i oluşturarak veritabanı işlemlerini gerçekleştirebilirsiniz:

@Bean
public JdbcTemplate jdbcTemplate(DataSource dataSource) {
    return new JdbcTemplate(dataSource);
}

Adım 3: RowMapper Sınıfı Oluşturma

Şimdi RowMapper sınıfını oluşturarak ResultSet'ten dönen verileri Java nesnelerine dönüştüreceğiz. Örneğin, bir "User" sınıfı oluşturarak kullanıcı verilerini dönüştürebiliriz:

public class UserRowMapper implements RowMapper<User> {
    @Override
    public User mapRow(ResultSet rs, int rowNum) throws SQLException {
        User user = new User();
        user.setId(rs.getLong("id"));
        user.setName(rs.getString("name"));
        user.setEmail(rs.getString("email"));
        return user;
    }
}

Adım 4: Veritabanı Sorgusu ve RowMapper Kullanımı

Son adımda veritabanı sorgusunu ve RowMapper'ı kullanarak veritabanından veri almamız gerekmektedir. Aşağıdaki örnek veritabanı sorgusunda User tablosundan kullanıcı verilerini çeken bir metot bulunmaktadır:

public List<User> getAllUsers() {
    String sql = "SELECT * FROM users";
    return jdbcTemplate.query(sql, new UserRowMapper());
}

Yukarıdaki adımları takip ederek Spring'de RowMapper kullanarak veritabanı işlemlerini gerçekleştirebilirsiniz. Daha fazla bilgi için Spring RowMapper Dökümantasyonu adresine göz atabilirsiniz.