Book Image

SPRING COOKBOOK

Book Image

SPRING COOKBOOK

Overview of this book

Table of Contents (19 chapters)
Spring Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Reading from a database


This recipe shows you how to read data from a database as part of a read/process/write step.

Getting ready

Each user will be read from the database. Make sure that the user database table exists with some data in it:

CREATE TABLE user  (
    id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
  first_name TEXT,
  age INT
);

For each user row in the database, we'll create a User object. Make sure that the User class exists:

public class User {
  private String firstName;
  private int age;

Make sure that the Datasource bean is defined with the database connection information.

How to do it…

Add a reader() method returning JdbcCursorItemReader-a class provided by Spring Batch:

@Bean
@StepScope
public JdbcCursorItemReader<User> reader() {
  JdbcCursorItemReader<User> reader = new JdbcCursorItemReader<User>();
  reader.setDataSource(dataSource());

  reader.setSql("SELECT first_name, age FROM user");

  reader.setRowMapper(new BeanPropertyRowMapper<User>(User...