Mybatis-plus 入门(SpringBoot版)
虽然mybatis-plus的官网说的已经很清楚了,但是我还是要写一个入门教程。因为我刚学会,哈哈哈。
-
在pom.xml文件中添加依赖
<dependencies> <!-- springboot 的 依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <!-- springboot 单元测试的依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- mybatis-plus 的依赖 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.2</version> </dependency> <!-- MySQL 的驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> <scope>runtime</scope> </dependency> <!-- lombok 省去写 set get 的操作--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.16</version> </dependency> </dependencies>
并在application.yml 中添加如下配置
# DataSource Config spring: datasource: username: 你mysql数据库的用户名 password: 你mysql数据库的密码 url: jdbc:mysql://localhost:3306/user driver-class-name: com.mysql.jdbc.Driver
数据表结构如图:
-
建立一个实体类
package com.hasoibo.mybatisplustest.pojo; @Data public class User { private Long id; private String name; private Integer age; private String email; }
-
建立一个mapper类 并继承BaseMapper <> 泛型中添入之前的user实体类,这样这个mapper就和实体类绑定上了
package com.hasoibo.mybatisplustest.dao; /* 这里其实都不用写@Repository 这个注解 因为已经这个类已经被扫描后自动注入bean中了 */ @Repository public interface UserMapper extends BaseMapper<User> { }
-
将springboot的启动类上写上注解,告诉springboot 那个包下是mapper,这里我标明com.hasoibo.mybatisplustest.dao
这个dao包下是mapper类的存放地址。这样springboot就会自动的帮我把这个包下的mapper类都注入进bean容器中。
@SpringBootApplication @MapperScan("com.hasoibo.mybatisplustest.dao") public class MybatisPlusTestApplication { public static void main(String[] args) { SpringApplication.run(MybatisPlusTestApplication.class, args); } }
-
编写测试类 进行测试
package com.hasoibo.mybatisplustest; @SpringBootTest public class SampleTest { @Autowired private UserMapper userMapper;//之前这里要是不加@Repository注解在idea中会爆红但是启动之后不会报错 @Test public void testSelect() { List<User> userList = userMapper.selectList(null); userList.forEach(System.out::println); } }
-
启动后得到结果
-
总结一下 :
可以看到我们一点sql语句都没有写,但是却能查询到数据库中的数据,mybatis-plus就是如此好用,单表的增删改查都不需要写sql语句了,更多功能可以去官网的手册查询。