SpringBoot超详细笔记(整合SSM附源码),最全MyBatis中XML映射文件标签分析+示例

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);

}

}

7.6 编写StudentService


在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);

}

7.7 编写StudentServiceImpl


在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);

}

}

7.8 编写ViewController


用于视图跳转

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”;

}

}

7.9 编写StudentController


业务控制层

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);

}

}

7.10 编写showAllStudent


学生全查页面
ID NAME SEX AGE Action {{s.id}} {{s.name}} {{s.age}} {{s.sex}}

<button type=“button” @click=“findOneById(s.id)”>修改

<button type=“button” @click=“delectStudent(s.id)”>删除

增加

X

               

取消

修改

7.11 编写addStudent


增加页面

ID:

NAME:

SEX:

AGE:

7.12 结果展示


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

8. thymeleaf

================================================================================

8.1 thymeleaf简介


Thymeleaf是一个适用于Web和独立环境的现代服务器端Java模板引擎,可以处理HTML、XML、JavaScript、CSS等;目的是提供优雅且高度可维护的模板创建方式,提供spring标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器等功能;

8.2 thymeleaf应用


8.2.1 需加入依赖

org.springframework.boot

spring-boot-starter-thymeleaf

8.2.2 增加头文件

8.2.3 动态替换掉静态数据

可以用th标签动态替换掉静态数据

修改

删除

{{s.id}} {{s.name}} {{s.age}} {{s.sex}}

<button type=“button” @click=“findOneById(s.id)”>修改

<button type=“button” @click=“delectStudent(s.id)”>删除

9. SpringBoot整合SSM_thymeleaf

=================================================================================================

在这里插入图片描述

9.1 创建数据库


CREATE TABLE student(

id INT PRIMARY KEY AUTO_INCREMENT,

NAME VARCHAR(50) NOT NULL,

sex VARCHAR(10) DEFAULT ‘man’,

age VARCHAR(5)

) CHARSET = utf8;

9.2 编写实体类


在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;

}

9.3 编写StudentMapper.java


在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);

}

9.4 编写StudentMapper.xml


在resources/mapping下编写

<?xml version="1.0" encoding="UTF-8"?>

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);

}

}

9.6 编写StudentService


在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);

}

9.7 编写StudentServiceImpl


在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
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
img

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);

}

9.7 编写StudentServiceImpl


在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)]

  • 29
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值