接口 CourseDao //查询课程列表信息 public List<Course> findCourseList(); 实现类 CourseDaoImpl @Override public List<Course> findCourseList() { try { //1.创建QueryRunner QueryRunner qr = new QueryRunner(DruidUtils.getDataSource()); //2.编写SQL String sql = "SELECT id,course_name,price,sort_num,STATUS FROM course where id_del = ?"; //3.执行查询 List<Course> courseList = qr.query(sql, new BeanListHandler<Course>(Course.class), 0); return courseList; } catch (SQLException e) { e.printStackTrace(); return null; } }
逻辑删除
物理删除
-
物理删除就是真正的从数据库中做删除操作了
接口 CourseService public List<Course> findCourseList(); 实现类 CourseServiceImpl //创建 CourseDao CourseDao courseDao = new CourseDaoImpl(); @Override public List<Course> findCourseList() { //调用Dao 进行查询 return courseDao.findCourseList(); }
我们在做的是一个前后端分离项目、需要通过接口文档对接的项目. 所以开发过程中要仔细查看前端所需的api接口和参数字段
为了严格按照接口进行开发,提高效率,对请求及响应格式进行规范化。
开发规范
1、get 请求时,采用key/value格式请求,Servlet中可以使用 getParameter() 获取。 |
2、post请求时有三种数据格式 第一种: Json数据 ,jsonl类型的数据 Servlet中使用 fastjson进行解析 第二种: 提交form表单数据 第三种: 文件等多部件类型(multipart/form-data) |
为什么使用JSON?
数据格式比较简单, 易于读写, JSON格式能够直接为服务器端代码使用, 大大简化了服务器端和客户端的代码开发量, 但是完成的任务不变, 且易于维护
本项目使用的是 JSON解析工具为阿里巴巴的fastjson, maven工程导入下面的依赖即可.
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.1.37</version> </dependency> <dependency> <groupId>com.colobu</groupId> <artifactId>fastjson-jaxrs-json-provider</artifactId> <version>0.3.1</version> </dependency>
@WebServlet("/course") public class CourseServlet extends BaseServlet { //查询课程信息列表 public void findCourseList(HttpServletRequest request, HttpServletResponse response){ try { //1.接收参数 //2.业务处理 CourseService cs = new CourseServiceImpl(); List<Course> courseList = cs.findCourseList(); //3.响应结果 //SimplePropertyPreFilter 指定要转换的JSON字段 SimplePropertyPreFilter filter = new SimplePropertyPreFilter(Course.class, "id","course_name","price","sort_num","status"); String result = JSON.toJSONString(courseList,filter); response.getWriter().print(result); } catch (IOException e) { e.printStackTrace(); } } }