Java实战02之使用 maven创建 springboot+mybatis结合使用
目录
前言:
现在越来越多的项目都是springboot +mybatis 结合了,log4j 也慢慢被淘汰了,所以推荐使用 log4j2 ,下面是整个的流程
一:使用Maven创建springboot 项目




二:添加Maven配置
可以删掉没有用的文件

三:pom.xml 配置

四:新建一个student类测试一下

一般的文件分层结构,业务分离
先测试一下springboot项目建立成功
public class StudentinfoController {
@GetMapping("/hello")
public String hello(){
return "hello Springboot";
}
}

application.yml 添加项目名
server:
port: 8099
servlet:
context-path: /demo

说明启动成功
五、链接MySQL,结合mybatis使用
1、新建表
CREATE TABLE `student`(
`stuId` INT(11) NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(20) COMMENT '姓名',
`age` INT(2) COMMENT '年龄',
`sex` VARCHAR(4) COMMENT '性别',
`stuClass` INT(11) COMMENT '班级',
PRIMARY KEY (`stuId`)
)ENGINE=MYISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 ;
随便加几条数据
INSERT INTO student VALUES(1001,'张三',10,'男',202201),(1002,'李四',10,'男',202201),
(1003,'王五',11,'男',202202),(1004,'小红',10,'女',202201)
2、实体类
@Data
public class StudentBo {
private int stuId;
private String name;
private int age;
private String sex;
private int stuClass;
}
我习惯使用lombak插件。可以直接使用@Data

直接下载,然后导入依赖
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
<scope>provided</scope>
</dependency>
3、mapper 接口
public interface StudentinfoMapper {
public List<StudentBo> selectStudent();
}
4、启动类添加mapper注解
加注解之前需要pom.xml 先添加mybatis 依赖
<!-- mybatis相关 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
@SpringBootApplication
@MapperScan(basePackages = "com.example.demo.**.mapper")
public class SpringbootappApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootappApplication.class, args);
}
}

PS:如果有多个包,中间用逗号隔开就可以
@MapperScan(basePackages = {"com.example.demo.**.dao","com.example.demo.**.mapper"})
5、mapper.xml
<mapper namespace="com.example.demo.student.mapper.StudentinfoMapper">
<select id="selectStudent" resultType="com.example.demo.student.bo.StudentBo">
SELECT * FROM student limit 20
</select>
</mapper>
6、StudengService 接口
public interface StudengService {
public List<StudentBo> selectStudent();
}
7、StudentserviceImpl 实现类
@Service
public class StudentserviceImpl implements StudengService {
@Resource
private StudentinfoMapper studentinfoMapper;
@Override
public List<StudentBo> selectStudent() {
return studentinfoMapper.selectStudent();
}
}
这里idea有个问题,使用@Autowired 注解的话会有报错,所以我改成@Resource了,不影响

8、StudentinfoController 类
@RestController
@RequestMapping("/studentinfoController")
public class StudentinfoController {
@GetMapping("/hello")
public String hello(){
return "hello Springboot";
}
@Autowired
private StudengService studengService ;
@RequestMapping("/selectStudent")
public List<StudentBo> selectStudent(){
return studengService.selectStudent();
}
}
9、application.yml 完整配置
server:
port: 8099
servlet:
context-path: /demo
# 多数据源
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://XXXXXX?allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&failOverReadOnly=false
username: XXXXX
password: XXXXX
mybatis:
mapper-locations: classpath:/mapper/*.xml
configuration:
map-underscore-to-camel-case: false
log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
logging:
config: classpath:log4j2.xml
level:
com.example.demo.**.mapper: debug
注意
这里的mybatis 路径是所有的 xml 路径,可以用**代替同级多匹配路径 。
这里的logging 的config 配置,里面是log4j2.xml 的路径,level 里面对应的你的dao 层 或者mapper 层路径 ,多个路径的加逗号一样可以, ** 可以代替同级多匹配路径 。
10、pom.xml 完整配置
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.12</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<!--5.5及以下-->
<version>5.1.40</version>
<!--5.6及以上-->
<!--<version>8.0.21</version>-->
</dependency>
<!-- mybatis相关 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
11、数据库插入几条数据

六、启动项目 。
http://localhost:8099/demo/studentinfoController/selectStudent
到这里就已经实现了 maven+springboot +mybatis 的整合使用了。
如果觉得对你有帮助的话欢迎点赞关注哦!
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)