当前位置:   article > 正文

MyBatis-plus框架使用_mybatis-plus-boot-starter版本

mybatis-plus-boot-starter版本

目录

Mybatis-plus简介

配置文件

启动类

Mybatis-plus使用语法

插入操作

删除操作

根据id删除

根据字段删除

根据对象删除

更新操作

根据id更新

根据条件更新

查询操作

根据id查询

批量id查询

根据条件查询多个结果

根据条件查询单个结果

Mybatis-plus简介

Mybatis-plus可以说是Mybatis的增强版,增强有以下几点:

1、相比较于Mybatis可以生成service,serviceImpl,controller层的代码,减少代码工作量。

2、service层实现了通用的CURD(增删改查功能),减少了用户人员的代码量,避免了大量的重复代码。

依赖环境集成

注意事项:

1.mybatis-plus和mybatis-plus-generator版本必须一致 。

2.mybatis-plus 和 springboot 的版本最好对应,可以上https://mvnrepository.com/搜索mybatis-plus-boot-starter,然后点击对应的版本,查看对应的springboot版本。

导入依赖:

  1. <dependency>
  2. <groupId>com.baomidou</groupId>
  3. <artifactId>mybatis-plus-generator</artifactId>
  4. <version>3.2.0</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>com.baomidou</groupId>
  8. <artifactId>mybatis-plus-boot-starter</artifactId>
  9. <version>3.2.0</version>
  10. </dependency>
  11. <dependency>
  12. <groupId>org.projectlombok</groupId>
  13. <artifactId>lombok</artifactId>
  14. <version>1.18.8</version>
  15. </dependency>

配置文件

  1. mybatis-plus:
  2. mapper-locations:
  3. # xml文件的路径
  4. - classpath*:mapper/*.xml
  5. # 实体类的包路径
  6. type-aliases-package: com.cw.bean

启动类

@MapperScan({"mapper接口所在的包名"}),可以多个。

Mybatis-plus使用语法

插入操作

  1. @RunWith(SpringRunner.class)
  2. @SpringBootTest
  3. public class TestUserMapper {
  4. @Autowired
  5. private UserMapper userMapper;
  6. @Test
  7. public void testInsert(){
  8. User user=new User();
  9. user.setAge(12);
  10. user.setName("曹操");
  11. user.setPassword("123");
  12. user.setMail("caocao@qq.com");
  13. user.setUserName("曹操");
  14. user.setAddress("北京");
  15. //result数据库受影响的行数
  16. int result = userMapper.insert(user);
  17. System.out.println("result=>"+result);
  18. //获取自增长后的id值
  19. System.out.println(user.getId());//自增后的id会回填到对象中
  20. }
  21. }

删除操作

根据id删除

  1. @Test
  2. public void testDeleteById() {
  3. //执行删除操作
  4. int result = this.userMapper.deleteById(6L);
  5. System.out.println("result = " + result);
  6. }

根据字段删除

  1. @Test
  2. public void testDeleteByMap() {
  3. Map<String, Object> columnMap = new HashMap<>();
  4. columnMap.put("age",20); columnMap.put("name","张三");
  5. //将columnMap中的元素设置为删除的条件,多个之间为and关系
  6. int result = this.userMapper.deleteByMap(columnMap);
  7. System.out.println("result = " + result);
  8. }

根据对象删除

  1. @Test public void testDeleteByMap() {
  2. User user = new User();
  3. user.setAge(20);
  4. user.setName("张三");
  5. //将实体对象进行包装,包装为操作条件
  6. QueryWrapper<User> wrapper = new QueryWrapper<>(user);
  7. int result = this.userMapper.delete(wrapper);
  8. System.out.println("result = " + result);
  9. }

更新操作

根据id更新

  1. @RunWith(SpringRunner.class)
  2. @SpringBootTest
  3. public class UserMapperTest {
  4. @Autowired private UserMapper userMapper;
  5. @Test
  6. public void testUpdateById() {
  7. User user = new User(); user.setId(6L); //主键
  8. user.setAge(21); //更新的字段
  9. //根据id更新,更新不为null的字段
  10. this.userMapper.updateById(user);
  11. }
  12. }

根据条件更新

  1. @Test public void testUpdate() {
  2. User user = new User(); user.setAge(22); //更新的字段
  3. //更新的条件
  4. QueryWrapper<User> wrapper = new QueryWrapper<>();
  5. wrapper.eq("id", 6);
  6. //执行更新操作
  7. int result = this.userMapper.update(user, wrapper);
  8. System.out.println("result = " + result);
  9. }

查询操作

根据id查询

  1. @Test
  2. public void testSelectById() {
  3. //根据id查询数据
  4. User user = this.userService.getById(2L);
  5. System.out.println("result = " + user);
  6. }

批量id查询

  1. @Test
  2. public void testSelectBatchIds() {
  3. //根据id集合批量查询
  4. List<User> users = this.userService.listByIds(Arrays.asList(2L, 3L, 10L));
  5. for (User user : users) {
  6. System.out.println(user);
  7. }
  8. }

根据条件查询多个结果

  1. @Test public void testList() {
  2. QueryWrapper<User> wrapper = new QueryWrapper<User>();
  3. wrapper.eq("name", "李四");
  4. List<User> user = this.userMapper.list(wrapper);
  5. }

根据条件查询单个结果

  1. @Test public void testSelectOne() {
  2. QueryWrapper<User> wrapper = new QueryWrapper<User>();
  3. wrapper.eq("name", "李四");
  4. User user = this.userService.getOne(wrapper);
  5. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/201367
推荐阅读
相关标签
  

闽ICP备14008679号