官方網址: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致力於優化,簡化!