<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mydb" />
<property name="username" value="root" />
<property name="password" value="password" />
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
public class User {
private int id;
private String name;
private String email;
}
public interface UserDao {
void save(User user);
void update(User user);
void delete(int id);
User getById(int id);
List<User> getAll();
}
public class UserDaoImpl implements UserDao {
private JdbcTemplate jdbcTemplate;
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
@Override
public void save(User user) {
jdbcTemplate.update("INSERT INTO user (name, email) VALUES (?, ?)", user.getName(), user.getEmail());
}
@Override
public void update(User user) {
jdbcTemplate.update("UPDATE user SET name=?, email=? WHERE id=?", user.getName(), user.getEmail(), user.getId());
}
@Override
public void delete(int id) {
jdbcTemplate.update("DELETE FROM user WHERE id=?", id);
}
@Override
public User getById(int id) {
return jdbcTemplate.queryForObject("SELECT * FROM user WHERE id=?", new Object[]{id}, new UserMapper());
}
@Override
public List<User> getAll() {
return jdbcTemplate.query("SELECT * FROM user", new UserMapper());
}
}
public class UserMapper implements RowMapper<User> {
@Override
public User mapRow(ResultSet rs, int rowNum) throws SQLException {
User user = new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setEmail(rs.getString("email"));
return user;
}
}
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserDao userDao;
@RequestMapping(value = "/save", method = RequestMethod.POST)
public ModelAndView saveUser(@ModelAttribute("user") User user) {
userDao.save(user);
return new ModelAndView("redirect:/user/list");
}
@RequestMapping(value = "/list", method = RequestMethod.GET)
public ModelAndView listUsers() {
List<User> userList = userDao.getAll();
return new ModelAndView("userList", "users", userList);
}
}
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>