Spring JDBC
Spring JDBC
Account.java
package spring.jdbc.lab7;
import java.util.Date;
package spring.jdbc.lab7;
JdbcAccountDAOImpl.java
package spring.jdbc.lab7;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
@Override
public Account find(long accountId) {
return jdbcTemplate.queryForObject(SELECT_ACCOUNT_BY_ID,
new RowMapper<Account>() {
@Override
public Account mapRow(ResultSet rs, int arg1) throws SQLException {
Account account=new Account();
account.setId(rs.getLong("id"));
account.setOwnerName(rs.getString("owner_name"));
account.setBalance(rs.getDouble("balance"));
account.setAccessTime(rs.getDate("access_time"));
account.setLocked(rs.getBoolean("locked"));
return account;
}
} ,accountId);
}
}
SpringJDBCConfig.java
package spring.jdbc.lab7;
import javax.sql.DataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
@Configuration
public class SpringJDBCConfig {
@Bean
public DataSource dataSource() {
DriverManagerDataSource ds=new DriverManagerDataSource();
ds.setDriverClassName("org.h2.Driver");
ds.setUrl("jdbc:h2:tcp://localhost/~/test1");
ds.setUsername("sa");
ds.setPassword("meghna21");
return ds;
}
@Bean
public JdbcTemplate jdbcTemplate() {
return new JdbcTemplate(dataSource());
}
@Bean
public AccountDAO accountDAO() {
JdbcAccountDAOImpl accountDAO=
new JdbcAccountDAOImpl(jdbcTemplate());
return accountDAO;
}
}
SpringJDBCMain.java
package spring.jdbc.lab7;
import java.sql.SQLException;
import java.util.Date;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
accountDAO.add(account1);
accountDAO.add(account2);
Account account=accountDAO.find(2L);
System.out.println(account.getId());
System.out.println(account.getOwnerName());
System.out.println(account.getBalance());
System.out.println(account.getAccessTime());
System.out.println(account.isLocked());
appCtx.close();
}
}