7.5 修改SpringbootSsmApplication
设置mapper扫描基础包路径
package com.sx.kak;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
//设置mapper扫描基础包路径
@MapperScan(basePackages = {“com.sx.kak.mapper”})
public class SpringbootSsmApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootSsmApplication.class, args);
}
}
在service下
package com.sx.kak.server;
import com.sx.kak.po.Student;
import java.util.List;
/**
- Created by Kak on 2020/8/31.
*/
public interface StudentService {
public List findAllService();
public Student findOneStudentService(int id);
public void addStudentService(Student student);
public void updateStudentService(Student student);
public void deleteStudentService(int id);
}
在service/impl下
package com.sx.kak.server.impl;
import com.sx.kak.mapper.StudentMapper;
import com.sx.kak.po.Student;
import com.sx.kak.server.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
- Created by Kak on 2020/8/31.
*/
@Service//标注service实现对象有spring接管
public class StudentServiceImpl implements StudentService{
//注入mapper接口
@Autowired(required = false)
private StudentMapper studentMapper;
@Override
public List findAllService() {
List all = studentMapper.findAll();
return all;
}
@Override
public Student findOneStudentService(int id) {
Student oneById = studentMapper.findOneById(id);
return oneById;
}
@Override
public void addStudentService(Student student) {
studentMapper.addStudent(student);
}
@Override
public void updateStudentService(Student student) {
studentMapper.updateStudent(student);
}
@Override
public void deleteStudentService(int id) {
studentMapper.deleteStudent(id);
}
}
用于视图跳转
package com.sx.kak.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
- Created by Kak on 2020/8/31.
*/
@Controller
public class ViewController {
@RequestMapping(“/studentView”)
public String showList(){
return “showAllStudent”;
}
@RequestMapping(“/addStudent”)
public String addStudent(){
return “addStudent”;
}
}
业务控制层
package com.sx.kak.controller;
import com.sx.kak.po.Student;
import com.sx.kak.server.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
- Created by Kak on 2020/8/31.
*/
@Controller
public class StudentController {
//注入service接口
@Autowired(required = false)
private StudentService studentService;
//全查
@RequestMapping(value = “/students”,method = RequestMethod.GET)
@ResponseBody
public ResponseEntity<List> findAllStu(){
List allService = studentService.findAllService();
if(allService!=null){
return new ResponseEntity<List>(allService, HttpStatus.OK);
}else {
return new ResponseEntity<List>(allService, HttpStatus.NOT_FOUND);
}
}
//增加
@RequestMapping(value = “addStudents”,method = RequestMethod.POST)
public String addStu(Student student){
studentService.addStudentService(student);
return “redirect:studentView”;
}
//单查
@RequestMapping(value = “findByIdStudents”,method = RequestMethod.GET)
@ResponseBody
public ResponseEntity findByIdStu(@RequestParam(“id”) int id){
Student oneStudentService = studentService.findOneStudentService(id);
if(oneStudentService!=null){
return new ResponseEntity(oneStudentService, HttpStatus.OK);
}else{
return new ResponseEntity( HttpStatus.NOT_FOUND);
}
}
//修改
@RequestMapping(value = “/updateStudents”,method = RequestMethod.POST)
@ResponseBody
public ResponseEntity updateStu(@RequestBody Student student){
System.out.println(student);
studentService.updateStudentService(student);
return new ResponseEntity(HttpStatus.OK);
}
//删除
@RequestMapping(value = “deleteStudents”,method = RequestMethod.GET)
@ResponseBody
public ResponseEntity deleteStu(@RequestParam(“id”) int id){
studentService.deleteStudentService(id);
return new ResponseEntity(HttpStatus.OK);
}
}
<button type=“button” @click=“findOneById(s.id)”>修改
<button type=“button” @click=“delectStudent(s.id)”>删除
X
学生信息修改:
取消
修改
ID:
NAME:
SEX:
AGE:
================================================================================
Thymeleaf是一个适用于Web和独立环境的现代服务器端Java模板引擎,可以处理HTML、XML、JavaScript、CSS等;目的是提供优雅且高度可维护的模板创建方式,提供spring标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器等功能;
8.2.1 需加入依赖
org.springframework.boot
spring-boot-starter-thymeleaf
8.2.2 增加头文件
8.2.3 动态替换掉静态数据
{{s.id}} {{s.name}} {{s.age}} {{s.sex}}可以用th标签动态替换掉静态数据
<button type=“button” @click=“findOneById(s.id)”>修改
<button type=“button” @click=“delectStudent(s.id)”>删除
=================================================================================================
CREATE TABLE student(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(50) NOT NULL,
sex VARCHAR(10) DEFAULT ‘man’,
age VARCHAR(5)
) CHARSET = utf8;
在po包下编写实体类
package com.sx.kak.po;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
- Created by Kak on 2020/8/31.
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Student {
private int id;
private String name;
private String sex;
private String age;
}
在mapper中编写StudentMapper
package com.sx.kak.mapper;
import com.sx.kak.po.Student;
import java.util.List;
/**
- Created by Kak on 2020/8/31.
*/
public interface StudentMapper {
public List findAll();
public Student findOneById(int id);
public void addStudent(Student student);
public void updateStudent(Student student);
public void deleteStudent(int id);
}
<?xml version="1.0" encoding="UTF-8"?>在resources/mapping下编写
select id,name,sex,age from student
SELECT id,name,sex,age FROM student WHERE id=#{id}
insert into student (id,name,sex,age) VALUES (#{id},#{name},#{sex},#{age})
UPDATE student set name=#{name},sex=#{sex},age=#{age} WHERE id=#{id}
DELETE FROM student where id=#{id}
9.5 修改SpringbootSsmApplication
设置mapper扫描基础包路径
package com.sx.kak;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
//设置mapper扫描基础包路径
@MapperScan(basePackages = {“com.sx.kak.mapper”})
public class SpringbootSsmApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootSsmApplication.class, args);
}
}
在service下
package com.sx.kak.server;
import com.sx.kak.po.Student;
import java.util.List;
/**
- Created by Kak on 2020/8/31.
*/
public interface StudentService {
public List findAllService();
public Student findOneStudentService(int id);
public void addStudentService(Student student);
public void updateStudentService(Student student);
public void deleteStudentService(int id);
}
在service/impl下
package com.sx.kak.server.impl;
import com.sx.kak.mapper.StudentMapper;
import com.sx.kak.po.Student;
import com.sx.kak.server.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
- Created by Kak on 2020/8/31.
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
ublic interface StudentService {
public List findAllService();
public Student findOneStudentService(int id);
public void addStudentService(Student student);
public void updateStudentService(Student student);
public void deleteStudentService(int id);
}
在service/impl下
package com.sx.kak.server.impl;
import com.sx.kak.mapper.StudentMapper;
import com.sx.kak.po.Student;
import com.sx.kak.server.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
- Created by Kak on 2020/8/31.
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-DPPa0WXb-1710892300848)]
[外链图片转存中…(img-OPKovLCr-1710892300848)]
[外链图片转存中…(img-uMwwsEWn-1710892300848)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
[外链图片转存中…(img-ImYJ3f9v-1710892300849)]