0 目录结构
1 通过maven的pom.xml文件导入相关依赖
<!-- Spring Boot依赖 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
</parent>
<dependencies>
<!-- Spring Boot的Web场景依赖启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 热部署依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<!--mybatis整合Spring依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<!-- mysql依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.41</version>
</dependency>
<!-- lombok依赖 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
2 编写yml文件,配置数据库连接等信息
spring:
datasource:
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
username: root
password: x5
driver-class-name: com.mysql.jdbc.Driver
mybatis:
# 指定 xxxMapper.xml 的文件路径
mapper-locations: classpath:/mapper/*.xml
# 提取包名,在 xxxMapper.xml 文件中可省略包名
type-aliases-package: com.zb.student.entity
3 编写entity类
@Data
public class Student {
private Integer id;
private String name;
private Integer age;
private String sex;
}
4 编写mapper层接口
@Repository
public interface StudentMapper {
// 查询全部学生信息
List<Student> findAll();
// 根据ID查询学生信息
Student findById(Integer id);
// 保存单个学生信息
void save(Student student);
// 修改单个学生信息
void update(Student student);
// 根据ID删除学生信息
void deleteById(Integer id);
}
5 编写mapper层映射.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zb.student.mapper.StudentMapper">
<!-- 查询所有学生信息,省略包名com.zb.student.entity -->
<select id="findAll" resultType="Student">
select * from student
</select>
<!-- 根据ID查询单个学生信息 -->
<select id="findById" parameterType="java.lang.Integer" resultType="Student">
select * from student where id = #{id}
</select>
<!-- 添加单个学生信息 -->
<insert id="save" parameterType="Student">
insert into student(name,age,sex) values(#{name}, #{age}, #{sex})
</insert>
<!-- 修改单个学生信息 -->
<update id="update" parameterType="Student">
update student set name = #{name}, age = #{age}, sex = #{sex} where id = #{id}
</update>
<!-- 根据ID删除单个学生信息 -->
<delete id="deleteById" parameterType="java.lang.Integer">
delete from student where id = #{id}
</delete>
</mapper>
5 编写controller层类
@RestController
public class StudentController {
@Autowired
StudentMapper studentMapper;
// 查询所有学生信息
@GetMapping("/findAll")
public List<Student> findAll() {
return studentMapper.findAll();
}
// 根据ID查询单个学生信息
@GetMapping("/findById/{id}")
public Student findById(@PathVariable("id") Integer id) {
return studentMapper.findById(id);
}
// 添加单个学生信息
@PostMapping("/save")
public void save(@RequestBody Student student) {
studentMapper.save(student);
}
// 修改单个学生信息
@PutMapping("/update")
public void update(@RequestBody Student student) {
studentMapper.update(student);
}
// 根据ID删除单个学生信息
@DeleteMapping("/deleteById/{id}")
public void deleteById(@PathVariable("id") Integer id) {
studentMapper.deleteById(id);
}
}
6 编写SpringBoot启动类
@SpringBootApplication
@MapperScan("com.zb.student.mapper")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}