1.简介
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提
高效率而生。
2.依赖引入
<!--简化代码的工具包 在实体上使用@data注解会自动给我们生成get set方法-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--mybatis-plus的springboot支持-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
3.使用入门
3.1编写Mapper接口
在MybatisPlus中,BaseMapper中定义了一些常用的CRUD方法,当我们自定义的Mapper接口继承BaseMapper
后即可拥有了这些方法
package cn.test.mybatisplus.mapper;
import cn.test.mybatisplus.pojo.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface UserMapper extends BaseMapper<User> {
}
3.2编写启动类
在启动类上添加注解
@MapperScan("cn.test.mybatisplus.mapper") //设置mapper接口的扫描包
3.2测试
引入spring boot测试依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
测试:
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserMapperTest {
@Autowired
private UserMapper userMapper;
@Test
public void testSelect() {
System.out.println(("----- selectAll method test ------"));
List<User> userList = userMapper.selectList(null);
for (User user : userList) {
System.out.println(user);
}
}
}
3.4更多
文档链接 https://mp.baomidou.com/guide/wrapper.html#abstractwrapper
4
3.5配置
虽然在MybatisPlus中可以实现零配置,但是有些时候需要我们自定义一些配置,就需要使用Mybatis原生的一些配
置文件方式了
# 指定全局配置文件
mybatis-plus.config-location = classpath:mybatis-config.xml
# 指定mapper.xml文件
mybatis-plus.mapper-locations = classpath*:mybatis/*.xml
更多配置:https://mp.baomidou.com/guide/config.html#%E5%9F%BA%E6%9C%AC%E9%85%8D%E7%BD%AE
4.Lombok
lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码,尤其是针对pojo,在
MybatisPlus中使用lombok
官网:https://projectlombok.org/
4.1配置安装
引入依赖:
<!--简化代码的工具包-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
<version>1.18.4</version>
</dependency>
安装IDEA插件:
如果不安装插件,程序可以正常执行,但是看不到生成的一些代码,如:get、set方法
常用注解:
@Data:注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、
hashCode、toString 方法
@Setter:注解在属性上;为属性提供 setting 方法
@Getter:注解在属性上;为属性提供 getting 方法
@Slf4j:注解在类上;为类提供一个 属性名为log 的 slf4j日志对象
@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法
@Builder:使用Builder模式构建对象
使用了@Bulider和@Data注解后,就可以使用链式风格优雅地创建对象 列如:
import lombok.Builder;
import lombok.Data;
@Data
@Builder
public class People {
private String name;
private String sex;
private int age;
}
public class TestLombok {
@Test
public void testBuilderAnnotation(){
People luoTianyan = People.builder()
.sex("female")
.age(23)
.name("LuoTianyan")
.build();
System.out.println(luoTianyan.toString());
//People(name=LuoTianyan, sex=female, age=23)
People people = new People("LuoTianyan","female",23);
System.out.println(luoTianyan.equals(people));
//true
}
}
5.使用MybatisPlus的AutoGenerator插件生成代码文件
待续。。。。4