Java back-end server programming; includes various exercises
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

86 lines
1.9 KiB

package com.example.sqltest.model;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;
@Repository
public class CustomerDAOImpl implements CustomerDAO {
@Autowired
private JdbcTemplate jdbcTemplate;
// Setters
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
// Getters
public JdbcTemplate getJdbcTemplate() {
return this.jdbcTemplate;
}
// Abstract methods
@Override
public void save(Customer customer) {
String sqlQuery = "INSERT INTO CUSTOMER(" +
"firstname" + "," +
"lastname" + "," +
"sex" + "," +
"language" + "," +
"engagement" + "," +
"email" + "," +
"phone" +
") VALUES (?,?,?,?,?,?,?)";
Object[] sqlData = new Object[] {
customer.getFirstName(),
customer.getLastName(),
customer.getSex(),
customer.getLanguage(),
customer.getEngagement(),
customer.getEmail(),
customer.getPhone()
};
jdbcTemplate.update(sqlQuery, sqlData);
}
@Override
public Customer findById(Long id) {
String sqlQuery = "SELECT * FROM CUSTOMER WHERE ID = ?";
Object[] queryData = new Object[] { id };
RowMapper<Customer> mapper = new CustomerMapper();
Customer customer = jdbcTemplate.queryForObject(sqlQuery, queryData, mapper);
return customer;
}
@Override
public List<Customer> findAll() {
String sqlQuery = "SELECT * FROM CUSTOMER";
RowMapper<Customer> mapper = new CustomerMapper();
List<Customer> customers = jdbcTemplate.query(sqlQuery, mapper);
return customers;
}
@Override
public void dropAll() {
String sqlQueryDelete = "DELETE FROM CUSTOMER";
String sqlQueryResetId = "ALTER TABLE CUSTOMER AUTO_INCREMENT = 1";
jdbcTemplate.execute(sqlQueryDelete);
jdbcTemplate.execute(sqlQueryResetId);
}
}