0% found this document useful (0 votes)
14 views

Spring JDBC

Uploaded by

pavitramani536
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Spring JDBC

Uploaded by

pavitramani536
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Spring JDBC

Account.java
package spring.jdbc.lab7;

import java.util.Date;

public class Account {


private long id;
private String ownerName;
private double balance;
private Date accessTime;
private boolean locked;

public long getId() {


return id;
}

public void setId(long id) {


this.id=id;
}

public String getOwnerName() {


return ownerName;
}

public void setOwnerName(String ownerName) {


this.ownerName=ownerName;
}

public double getBalance() {


return balance;
}

public void setBalance(double balance) {


this.balance=balance;
}

public Date getAccessTime() {


return accessTime;
}

public void setAccessTime(Date accessTime) {


this.accessTime=accessTime;
}

public boolean isLocked() {


return locked;
}

public void setLocked(boolean locked) {


this.locked=locked;
}
}
AccountDAO.java

package spring.jdbc.lab7;

public interface AccountDAO {

public void add(Account account);


public Account find(long accountId);
}

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;

public class JdbcAccountDAOImpl implements AccountDAO {


private static final String INSERT_ACCOUNT=
"insert into account (owner_name,balance,access_time,locked)"
+"values (?,?,?,?)";

private static final String SELECT_ACCOUNT_BY_ID=


"select * from account where id=?";

private static final String SELECT_ACCOUNT_BY_ID_LIST=


"select * from account where id in (:accountIds)";

private JdbcTemplate jdbcTemplate;

public JdbcAccountDAOImpl(JdbcTemplate jdbcTemplate) {


this.jdbcTemplate=jdbcTemplate;
}
@Override
public void add(Account account) {
jdbcTemplate.update(INSERT_ACCOUNT,
account.getOwnerName(),
account.getBalance(),
account.getAccessTime(),
account.isLocked());
}

@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;

public class SpringJDBCMain {


public static void main(String[] args) throws SQLException {
AnnotationConfigApplicationContext appCtx=new
AnnotationConfigApplicationContext(SpringJDBCConfig.class);
AccountDAO accountDAO=appCtx.getBean(AccountDAO.class);

Account account1 = new Account();


account1.setOwnerName("Meghna Juvekar");
account1.setBalance(72000);
account1.setAccessTime(new Date());
account1.setLocked(false);

Account account2 = new Account();


account2.setOwnerName("Darshana Juvekar");
account2.setBalance(80000);
account2.setAccessTime(new Date());
account2.setLocked(false);

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();
}
}

You might also like