后台管理系统
模糊查询所有
通过if对传递给dao层的model进行判断,通过判断结果进行sql语言的增加
public List<ProductTypeModel> findAll(ProductTypeModel productTypeModel) {
String sql = "select * from product_type ";
sql += getSql(productTypeModel);
sql += "limit " + (productTypeModel.getPage() - 1) * productTypeModel.getLimit() + " , " + productTypeModel.getLimit() + "";
return getList(Objects.requireNonNull(JDBC.query(sql)));
}
//模糊查询
private String getSql(ProductTypeModel productTypeModel) {
String sql = "";
if (!"".equals(productTypeModel.getName())) {
sql += "and name = '%" + productTypeModel.getName() + "%' ";
}
if (productTypeModel.getEnable() != null) {
sql += "and enable = '" + productTypeModel.getEnable() + "' ";
}
return sql;
}
代码方法封装
公共代码提取封装为(静态)方法
-
查询语句中赋值方法
//查询所有 public List<ProductTypeModel> findAll(ProductTypeModel productTypeModel) { String sql = "select * from product_type "; sql += getSql(productTypeModel); sql += "limit " + (productTypeModel.getPage() - 1) * productTypeModel.getLimit() + " , " + productTypeModel.getLimit() + ""; return getList(Objects.requireNonNull(JDBC.query(sql))); } //model赋值,传递查询结果集合 private List<ProductTypeModel> getList(ResultSet resultSet) { List<ProductTypeModel> models = new ArrayList<>(); try { while (resultSet.next()) { ProductTypeModel model = ProductTypeModel.builder() .id(resultSet.getInt("id")) .name(resultSet.getString("name")) .enable(resultSet.getInt("enable")) .createTime(resultSet.getString("create_time")) .updateTime(resultSet.getString("update_time")) .build(); models.add(model); } } catch (SQLException e) { e.printStackTrace(); } return models; }
ResultDTO封装
//service层对ResultDTO进行赋值
public static ResultDTO getDTO(Integer code, String msg, Integer count, Object data) {
return new ResultDTO(code, msg, count, data);
}
BaseService 和 BaseDao 接口继承
service接口继承
public interface BaseService<T> {
ResultDTO add(T t);
ResultDTO delete(T t);
ResultDTO update(T t);
ResultDTO findAll(T t);
ResultDTO findById(T t);
ResultDTO count(T t);
}
public interface ProductService extends BaseService<ProductVO>{}
public interface ProductTypeService extends BaseService<ProductTypeVO> {}
public interface NewsService extends BaseService<NewsVO> {
ResultDTO findByType(NewsVO newsVO);
}
public interface NewsTypeService extends BaseService<NewsTypeVO> {}
dao接口继承
public interface BaseDao<T> {
int add(T t);
int update(T t);
int delete(T t);
int count(T t);
List<T> findAll(T t);
List<T> findById(T t);
}
public interface ProductDao extends BaseDao<ProductModel> { }
图片上传(思路)
- 访问服务器地址
- 在服务器得到前端数据
- 将前端数据封装到某个位置(临时目录、缓存)
- 将文件保存到具体地址
- 将保存的地址返回给前端
默认图片保存在out目录下,需要将图片复制到web目录下