这里mybatis采用的是3.4.5版本,注意:mybatis3.4.0版本以上才支持@Mapper注解
相关依赖代码如下:
org.mybatis
mybatis
3.4.5
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.0
mysql
mysql-connector-java
5.1.40
pom文件完整代码如下:
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.6.3
com.example
demo
0.0.1-SNAPSHOT
springboot-demo1
Demo project for Spring Boot
1.8
org.springframework.boot
spring-boot-starter-web
org.projectlombok
lombok
true
org.springframework.boot
spring-boot-starter-test
test
mysql
mysql-connector-java
5.1.40
org.xmlunit
xmlunit-core
org.mybatis
mybatis
3.4.5
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.0
org.springframework.boot
spring-boot-maven-plugin
org.projectlombok
lombok
org.apache.maven.plugins
maven-compiler-plugin
7
org.apache.maven.plugins maven-compiler-plugin 8
org.apache.maven.plugins
maven-compiler-plugin
3.8.1
1.8
导入pom文件后,若依赖报红,需要重新import下(点击下图里的刷新图标)
这边主要设计到的包有Controller(控制层),Entity(实体层),Service(接口层),ServiceImpl(接口实现层),Mapper(数据持久化层)
在Entity包下编写student实体类,代码如下
package com.example.demo.Entity;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
@Data
public class Student {
private String id;
private String name;
private Integer age;
private String sex;
private String grade;
public Student(String id,String name,Integer age,String sex,String grade)
{
this.id = id;
this.name=name;
this.age=age;
this.sex=sex;
this.grade=grade;
}
}
数据库中新建一张学生表:
表中插入数据,用于后续接口验证
port指的是端口号,可以不用设置(这边设置是因为8080端口被占用)
数据库的名称、账号和密码修改成自己的即可
server.port=8081
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/stms?useUnicode=true&characterEncoding=UTF-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
mybatis.type-aliases-package=com.example.demo.Entity
mybatis.mapper-locations= classpath:com.example.demo.Mapper/*.xml
可以在启动类上添加@MapperScan注解,或者在mapper层的每个接口类上添加@Mapper注解@MapperScan注解作用:指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会生成相应的实现类
@MapperScan(basePackages = "com.example.demo.Mapper")
studentMapper接口类代码如下
package com.example.demo.Mapper;
import com.example.demo.Entity.Student;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface StudentMapper {
List selectAll();
}
在resource下建立如下目录和文件
完整代码如下:
注意事项:namespace的值要和接口类的路径对应上,否则会报错
在Controller层的StudentController文件里编写测试代码,如下:
package com.example.demo.Controller; import com.example.demo.DTO.ResultDto; import com.example.demo.Entity.Student; import com.example.demo.Mapper.StudentMapper; import com.example.demo.Service.StudentService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.stereotype.Repository; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @RestController @RequestMapping("/student") public class StudentController { @Autowired private StudentService studentService; @Autowired private StudentMapper studentMapper; @GetMapping("/getAll") public String selectAll() { List
students = studentMapper.selectAll(); return students.toString(); } }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
出现如下数据,则证明集成成功 :
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦