目录
什么是Mybatis-Plus?他和Mybatis有什么关系?
什么是Mybatis-Plus?他和Mybatis有什么关系?
MyyBatis-plus是Mybatis的增强版,并没有对Mybatis进行改变,就是把一些功能封装起来方便我们使用了,它的作用就是简化开发,提高效率。
官方详细解释可以直接进官网:CRUD 接口 | MyBatis-Plus (baomidou.com)CRUD 接口 | MyBatis-Plus (baomidou.com)CRUD 接口 | MyBatis-Plus (baomidou.com)
如何使用Mybatis-Plus呢?
他是为了简化开发的,那么是怎么简化的呢?那么我们继续往下看。
添加依赖
我们新建一个springboot项目(插件引入数据库,springweb,lombok),接下来,引入Mybatis-plus的依赖:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
调整配置
配置 Myaql 账号和密码 以及数据库(当然你要有数据库,且已经创建好了表)
注:这是 .yml 的格式
spring:
datasource:
url: jdbc:mysql://localhost:3306/myuser?characterEncoding=utf8&useSSL=false
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
配置好了,接下来mybatis就是得操作就是编写实体类,编写接口与接口的实现了。那么Mybatis-plus呢?
编写实体类
Mybatis-plus首先编写实体类:
这里和mybatis相比就简单了很多,首先在Mybatis的时候,如果属性和数据库中的字段名字不一样的话,后边我们实现的xml文件中就要用resultMap来说明对应关系。但是在MYbatis-plus中我们直接写注释@Tablefield,括号里写上对应的字段就好了
最上边的@TableName标识这个实体类要和那个表映射。
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
@Data
@TableName("userinfo")
public class Userinfo {
private Integer id;
//与数据库的字段不对应的时候就要注释@TableField,括号里边是字段的名称
@TableField("username")
private String name;
@TableField("password")
private String pwd;
private String photo;
private Date createtime;
private Date updatetime;
}
编写接口
这一步和Mybatis有很大的不同,Mybatis是直接写接口,然后在接口中声明方法。但是Mybatis-plus继承了一个接口BaseMapper,这个BaseMapper就是Mybatis-plus的一个接口,里边继承了基本的增删改查操作,我们的接口继承了这个接口后,里边的方法就可以随便用了。不符合我们要求的时候我们也可以自己实现,像Mybatis中声明方法的操作一样。
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.mybatisplusdemo.model.Userinfo;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserinfoMapper extends BaseMapper<Userinfo> {
}
测试用例
import com.example.mybatisplusdemo.model.Userinfo;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
import static org.junit.jupiter.api.Assertions.*;
@SpringBootTest
@Slf4j
class UserinfoMapperTest {
@Autowired
private UserinfoMapper userinfoMapper;
@Test
void selectAll() {
List<Userinfo> userList = userinfoMapper.selectList(null);
log.info(userList.toString());
}
}
运行结果
以上就是mybatisplus的基本使用了,基本的功能他就会动态帮我们生成。