先废话,哎呀就终于把逻辑捋清楚了,入职七个月,终于要做一些代码的时候,我每天加完班都会在楼门口看着月亮反思一会,我能不能辞职,’o’
demo介绍
实现对学生增删查改四个功能。
- 增加和修改
if Sno!=null
update
if Sno=null
insert
- 删除
按学号删除 - 查找
按姓名模糊查找,显示所有学生信息。
demo 写作流程
- 配置好环境后,先写入学生实体
以其中一个方法,模糊查询为例做流程解释
- controller层
作用:连接前后端的,接受请求并响应请求的。接受模糊查询的关键字,然后调用service层的接口来控制业务流程。
@GetMapping("/search")
public List<Student> search(@Param("keyword") String keyword) {
return studentService.search(keyword);}
- Service层
给controller层的类提供接口进行调用。一般就是自己写的方法封装起来,就是声明一下,具体实现在serviceImpl中。
//模糊查找
public List<Student> search(String keyword);
- ServiceImpl层
实现service接口中的方法
public class SearchServiceImpl implements StudentService {
public List<Student> search(String keyword){
return StudentMapper.findBySname(keyword); }
- Controller层
对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的,主要实现一些增删改查操作,在mybatis中方法主要与与xxx.xml内相互一一映射。
@Mapper
public interface StudentMapper {
List<Student> findBySname(String keyword);}
- XXX.xml
真正的CRUD语句
<select id="findBySname" resultMap="BaseResultMap">
SELECT * FROM student
where Sname LIKE CONCAT(CONCAT('%',#{keyword}) ,'%')
ORDER BY Sno;
</select>
demo文件框架
代码分享
地址: