Mô hình DAO
Model
package binh.dev.data.model; public class Category { private int id; private String name; private String thumbnail; // insert vào public Category(String name, String thumbnail) { super(); this.name = name; this.thumbnail = thumbnail; } public Category(int id, String name, String thumbnail) { super(); this.id = id; this.name = name; this.thumbnail = thumbnail; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getThumbnail() { return thumbnail; } public void setThumbnail(String thumbnail) { this.thumbnail = thumbnail; } }
DAO Interface
package binh.dev.data.dao; import java.util.List; import binh.dev.data.model.Category; public interface CategoryDao { public boolean insert(Category category); public boolean update(Category category); public boolean delete(int id); public Category find(int id); public List<Category> findAll(); public List<Category> hotCategory(); }
DAO Implement
package binh.dev.data.impl; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import binh.dev.data.dao.CategoryDao; import binh.dev.data.driver.MySQLDriver; import binh.dev.data.model.Category; public class CategoryImpl implements CategoryDao { Connection con = MySQLDriver.getInstance().getConnection(); @Override public boolean insert(Category category) { // TODO Auto-generated method stub String sql = "INSERT INTO CATEGORIES VALUES(NULL, ?, ?)"; try { PreparedStatement stmt = con.prepareStatement(sql); stmt.setString(1, category.getName()); stmt.setString(2, category.getThumbnail()); stmt.execute(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return false; } @Override public boolean update(Category category) { // TODO Auto-generated method stub String sql = "UPDATE CATEGORIES SET name = ?, thumbnail = ? WHERE id = ?"; try { PreparedStatement stmt = con.prepareStatement(sql); stmt.setString(1, category.getName()); stmt.setString(2, category.getThumbnail()); stmt.setInt(3, category.getId()); return stmt.execute(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return false; } @Override public boolean delete(int id) { // TODO Auto-generated method stub String sql = "DELETE FROM CATEGORIES WHERE ID = ?"; try { PreparedStatement stmt = con.prepareStatement(sql); stmt.setInt(1, id); return stmt.execute(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return false; } @Override public Category find(int id) { // TODO Auto-generated method stub String sql = "SELECT * FROM CATEGORIES WHERE ID = ?"; try { PreparedStatement stmt = con.prepareStatement(sql); stmt.setInt(1, id); ResultSet rs = stmt.executeQuery(); while (rs.next()) { String name = rs.getString("name"); String thumbnail = rs.getString("thumbnail"); return new Category(id, name, thumbnail); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } @Override public List<Category> findAll() { // TODO Auto-generated method stub List<Category> cateList = new ArrayList<>(); String sql = "SELECT * FROM CATEGORIES"; try { PreparedStatement stmt = con.prepareStatement(sql); ResultSet rs = stmt.executeQuery(); while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); String thumbnail = rs.getString("thumbnail"); cateList.add(new Category(id, name, thumbnail)); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return cateList; } }