使用Spring Boot的好处有以下几点:
-
快速搭建项目:Spring Boot提供了一系列的快速配置和开发工具,可以帮助开发者快速搭建项目,并且减少了繁琐的配置。
-
简化开发流程:Spring Boot提供了自动配置的特性,可以根据项目的依赖自动配置相应的组件,开发者只需关注业务逻辑的实现,无需手动配置。
-
内嵌式容器:Spring Boot内嵌了Tomcat、Jetty和Undertow等常用的Servlet容器,可以直接通过命令行启动项目,无需额外安装和配置容器。
-
微服务架构支持:Spring Boot提供了丰富的功能和组件,可以方便地构建和部署微服务架构,支持分布式的开发和部署。
-
自动化配置和管理:Spring Boot提供了一套自动化配置和管理的机制,可以方便地管理项目的各种配置,如数据库配置、消息队列配置等。
-
社区活跃:Spring Boot是一个开源项目,拥有庞大的社区支持,可以获取大量的官方文档、示例代码和帮助资源,解决开发过程中遇到的问题。
总之,使用Spring Boot可以大大简化Java项目的开发和部署,提高开发效率,减少人力成本,并且提供了丰富的功能和组件,适用于各种类型的应用开发。
一、创建一个SpringBoot项目(可以选择Spring自动化向导,可查看上一章)
1.设计一个数据库表(mysql)
2.编写javaBean
package com.edu.bean;
public class Employee {
private Integer id;
private String lastName;
private String email;
private Integer gender;
private Integer age;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Integer getGender() {
return gender;
}
public void setGender(Integer gender) {
this.gender = gender;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
2.编写映射接口(注解方式)
package com.edu.mapper;
import com.edu.bean.Employee;
import org.apache.ibatis.annotations.*;
import java.util.List;
@Mapper
public interface EmployeeMapper {
@Options(useGeneratedKeys = true,keyProperty = "id")
@Insert("insert into tbl_employee(last_name,email,gender,age) values(#{lastName},#{email},#{gender},#{age})")
public int save(Employee employee);
@Update("update tbl_employee set last_name=#{lastName},email=#{email},gender=#{gender},age=#{age} where id=#{id}")
public int edit(Employee employee);
@Delete("delete from tbl_employee where id=#{id}")
public int delete(Integer id);
@Select("select * from tbl_employee where id=#{id}")
public Employee getById(Integer id);
@Select("select * from tbl_employee")
public List<Employee> getAll();
}
3.控制器
package com.edu.controller;
import com.edu.bean.Employee;
import com.edu.mapper.EmployeeMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Controller
@RequestMapping("/emp")
public class EmpController {
@Autowired
private EmployeeMapper employeeMapper;
@GetMapping("")
public String emp(Model model){
List<Employee> employeeList = employeeMapper.getAll();
model.addAttribute("employeeList",employeeList);
return "list";
}
@GetMapping("/addUI")
public String addUI(){
return "addUI";
}
@PostMapping("")
public String add(Employee employee){
employeeMapper.save(employee);
return "redirect:/emp";
}
// @DeleteMapping("/{id}")
// public String delete(@PathVariable("id") Integer id){
// employeeMapper.delete(id);
// return "redirect:/emp";
// }
@GetMapping("/delete")
public String delete(Integer id){
employeeMapper.delete(id);
return "redirect:/emp";
}
@GetMapping("/updateUI")
public String updateUI(Integer id,Model model){
Employee employee = employeeMapper.getById(id);
model.addAttribute("employee",employee);
return "updateUI";
}
@GetMapping("/update")
public String delete(Employee employee){
employeeMapper.edit(employee);
return "redirect:/emp";
}
}
运行效果如下:
新增:
需要源码的可以WX免费获取:X24250709