1. 创建一个SpringBoot工程(也可以使用maven工程 然后导入SpringBoot相对应的包,之后创建一个启动类,我这边演示的直接是用SpringBoot工程)
Cloud Native App Initializer (aliyun.com)
如果有java8的直接跳过这一步,没有的话手动创建,然后导入到项目中
创建完毕之后如下
2.配置相应的依赖(包含Mybatis依赖,MySQL依赖,数据库连接池 我这边使用的是德鲁伊)
<!--Mybatis依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<!--mysql依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
<!--数据库连接池 Druid 德鲁伊-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.20</version>
</dependency>
3. 导入依赖之后 将resource目录下的application.properties 修改为application.yml(如果没有的话就自己手动创建),根据个人习惯也可以是一application.properties,我这里演示的是yml(注意 :有些springboot工程里面没有resource目录,则需要自创建,resource和java目录是同级目录)
在resource创建好之后,我们在resource目录下创建application.yml,创建完之后写数据库配置文件,根据自己的 数据库和数据库账号和密码进行更改,改成自己的,以及端口,我这边端口是8081,根据自己可以修改端口,默认是 8080
yml文件给你们写好了,你们直接复制过去修改就可以了,我们可以用mybatisPlus插件,这样会有利于我们进行测试,代码如下所示
spring:
# 数据库配置
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/user?useSSL=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root
password: 1234
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 端口配置
server:
port: 8081
5. 现在我们来测试一下,启动springboot工程,找到启动类,启动没有报错的话,则我们继续下一步,如果有报错的话,有可能是依赖问题,也有可能是数据库的问题。根据报错信息进行修改。
4. 在数据库中创建想要是数据库以及表,我这个以t_user为例
创建完毕之后,在表中添加数据,进行测试
6. 创建三层架构分别为 控制层(controller)、业务层(service)、数据访问层(mapper)、实体(pojo,如下图所示进行创建
7. 首先,在pojo包下面创建一个实体,我们这边以User为例,这个我就不带着大家写了,你们可以直接复制我的,改成自己的 字段名
package com.mhr.pojo;
import com.sun.org.apache.xpath.internal.operations.Or;
import java.util.Date;
import java.util.List;
public class User {
private int id;
private String username;
private String password;
private String birthday;
public User(int id, String username, String password, String birthday) {
this.id = id;
this.username = username;
this.password = password;
this.birthday = birthday;
}
public User() {
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
", birthday='" + birthday + '\'' +
'}';
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
}
8. 然后在mapper下创建一个接口 我们这边以UserMapper, 继承BaseMapper<实体类>,然后在接口中写方法,以查询表中所有信息和根据id查询单个信息为例
一般使用xml进行,我们这边可以简单一点,可以直接使用注解来写SQL语句
package com.mhr.mapper;
import com.mhr.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface UserMapper {
//查询所有数据
@Select("select * from t_user")
List<User> findAll();
//根据id查询单个数据
@Select("select * from t_user where id = #{id}")
User findById(int id);
}
9. 接下来在service包下创建UserService
package com.mhr.service;
import com.mhr.mapper.UserMapper;
import com.mhr.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
//查询所有信息
public List<User> findAll(){
return userMapper.findAll();
}
//根据id查询信息
public User findById(int id){
return userMapper.findById(id);
}
}
注:本类中不要忘记写@service,以及依赖注入UserMapper,刚开始可以直接复制我的代码,后面自己去慢慢理解
10.在controller下创建一个UserController类,在UserController中添加RestController注解,返回的是json格式
注意在Restful风格中
get用于查询
post用于新增
put用于更新
delete用于删除
我这边只用查询为例
package com.mhr.controller;
import com.mhr.pojo.User;
import com.mhr.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/findAll")
public List<User> findAll(){
return userService.findAll();
}
@GetMapping("/findById")
public User findById(int id){
return userService.findById(id);
}
}
至此我们的SpringBoot+Mybatis已经整合完毕了 我们运行项目,显示如下,我们已经运行完毕且没有错误
接下来打开浏览器,进行测试(查询全部)
根据id进行查询
至此我们整合完毕了,如果还有问题的话,欢迎小伙伴在下面评论区进行交流