前言
前面快速学习了Mybatis,现在开始快速学习MyBatisPlus
学习教程:
黑马mybatis教程全套视频教程,2天Mybatis框架从入门到精通
黑马程序员最新MybatisPlus全套视频教程,4小时快速精通mybatis-plus框架
简介
MyBatisPlus 是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率。
创建项目
创建项目
问了一下后端同事建议是创建一个springboot
项目,在springboot
项目里使用mybatis-plus
。参考了两篇文章给弄出来了,下面是基本步骤,如果遇到啥问题别找我,不会。我是搞前端开发的,学后端属于公司要求。
参考的文章:
搭建SpringBoot项目三种方式(超详细版)
Spring Boot + MyBatis + MySQL框架搭建
1、修改为阿里源
https://start.aliyun.com/
2、设置项目名称、其他配置
3、选择springboot版本和依赖
4、下载依赖并运行
下载完依赖后切换到SpringbootApplication.java
文件里,点击运行
运行成功,并且能在浏览器里访问,证明项目成功
项目配置
添加mybatis-plus和mysql依赖
在pom.xml
里添加依赖
<!-- mybatis plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<!-- mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
mysql的依赖要与你的mysql保持一致。
添加完依赖后下载。
配置数据库信息
在src/main/resources/application.properties
文件里添加数据库信息
# MySQL
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123abc!@#
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
创建实体类
在src/main/java/org/example/springboot
文件夹下创建entity
文件夹,用于存放实体类。在entity
下创建实体类User.java
public class User {
Integer id;
String name;
Integer age;
String email;
Integer sex;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Integer getSex() {
return sex;
}
public void setSex(Integer sex) {
this.sex = sex;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
", email='" + email + '\'' +
", sex=" + sex +
'}';
}
}
创建mapper接口
在src/main/java/org/example/springboot
文件夹下创建mapper
文件夹,用于存放实体类。在mapper
下创建接口UseMapperr.java
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.example.springboot.entity.User;
import java.util.List;
// 继承mybatis-plus的BaseMapper接口
@Mapper
public interface UserMapper extends BaseMapper<User> {
// 查询所有用户
List<User> selectAllUser();
}
创建UserMapper.xml
在src/main/resources
目录下创建一个名为mapper
的文件夹,并在其中创建一个名为UserMapper.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">
<!--
namespace: 命名空间
resultType:返回值的类型,一般是实体类
id:唯一标识
-->
<mapper namespace="org.example.springboot.mapper.UserMapper">
<resultMap id="userResultMap" type="org.example.springboot.entity.User">
<!-- property 属性是指对应的 Java 类的属性,column 属性是指对应的数据库表的字段名 -->
<!-- 主键映射-->
<id property="id" column="id"/>
</resultMap>
<!-- 查询所有用户-->
<select id="selectAllUser" resultMap="userResultMap">
select *
from user;
</select>
</mapper>
创建Service和Controller
在src/main/java/org/example/springboot
文件夹下创建service
文件夹。在service
下创建接口UserService.java
import org.example.springboot.entity.User;
import org.example.springboot.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> selectAllUser() {
// 查询id为1、2的用户
List<Integer> idList = new ArrayList<>();
idList.add(1);
idList.add(2);
return userMapper.selectBatchIds(idList);
}
}
在src/main/java/org/example/springboot
文件夹下创建controller
文件夹。在controller
下创建接口UserController.java
import org.example.springboot.entity.User;
import org.example.springboot.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
@Controller
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/userlist")
@ResponseBody
public List<User> selectAllUser() {
return userService.selectAllUser();
}
}
测试
重启项目,在浏览器里访问userlist
,看能否从数据库获取到数据