官方网址:https://mp.baomidou.com 中国软件,中文文档java
进入官方第一句话:为简化开发而生 ;mysql
我愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。spring
全新的 MyBatis-Plus
3.0 版本基于 JDK8,提供了 lambda
形式的调用,因此安装集成 MP3.0 要求以下:sql
SQL:数据库
#建立数据表 CREATE TABLE tb_user ( id INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID', NAME VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', age INT(11) NULL DEFAULT NULL COMMENT '年龄', email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱' ); #插入测试数据 INSERT INTO tb_user (`name`, age, email) VALUES ('Jone', 18, 'test1@baomidou.com'), ('Jack', 20, 'test2@baomidou.com'), ('Tom', 28, 'test3@baomidou.com'), ('Sandy', 21, 'test4@baomidou.com'), ('Billie', 24, 'test5@baomidou.com');
建立SpringBoot项目导入依赖:mybatis
<!--mybatis-plus依赖--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.0.6</version> </dependency> <!--简化getset。。方法--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <!--数据库依赖--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
编辑yml配置:app
spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/hi?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true username: root password: root
添加Mapper接口:框架
/** * Mapper接口实现后会有大量已经写好的方法能够直接调用 * BaseMapper<User> :指定类型 * @author SimpleWu */ public interface UserMappers extends BaseMapper<User>{ }
启动类添加扫描Mapper接口包位置:分布式
@SpringBootApplication @MapperScan("com.simple.mybatis.plus.mappers") public class MybatisPlusApplication { public static void main(String[] args) { SpringApplication.run(MybatisPlusApplication.class, args); } }
测试类进行测试:性能
@RunWith(SpringRunner.class) @SpringBootTest public class MybatisPlusApplicationTests { @Autowired private UserMappers mappers; @Test public void selectList() { List<User> list = mappers.selectList(null); list.forEach(System.out::println); } }
分页查询:
@Test public void selectListPage() { //开始页数 每页总数 IPage<User> page = new Page<>(2, 5); page = mappers.selectPage(page, null); page.getRecords().forEach(System.out::println); }
当使用Mybatis-plus时Mapper接口只须要继承BaseMapper<?>指定类型,在Mapper接口中就会发现有许多已经被写好的方法能够直接调用。方法描述请参考源码,国人开发,中文注释。
而且MybatisPlus连Service都已经帮咱们写好了:
首先定义个接口:
public interface UserService extends IService<User> { }
实现类:
public class UserServiceImpl extends ServiceImpl<UserMappers, User> implements UserService { }
咱们能够直接注入UserService里面的方法都是能用的。
总结:
MybatisPlus致力于优化,简化!