mybatis-plus之Service的使用

概述

类似DAO,MP在Service层也提供了模板工具。

使用

依赖

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.2</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.21</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
    </dependencies>

DB

CREATE TABLE `t_person` (
  `id` int(11) NOT NULL,
  `name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

实体类

@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
@TableName("t_person")
public class Person {
          
   
    private int id;
    private String name;
}

DAO

dao接口需要继承BaseMapper,泛型为实体类

public interface PersonDao extends BaseMapper<Person> {
          
   
}

service

service接口需要继承IService,泛型为实体类

public interface PersonService extends IService<Person> {
          
   
}

serviceImpl

serviceImpl实现service接口,并继承ServiceImpl类,泛型为DAO接口和实体类

@Service
public class PersonServiceImpl extends ServiceImpl<PersonDao, Person> implements PersonService {
          
   
}

测试

@SpringBootTest
@Slf4j
public class PersonServiceTest {
          
   
    @Resource
    private PersonServiceImpl personService;
    @Test
    public void testInsert(){
          
   
        personService.save(Person.builder().id(1).name("xipeng").build());
    }
    @Test
    public void testInsertOrUpdate(){
          
   
        personService.saveOrUpdate(Person.builder().id(1).name("张三").build());

    }
}
经验分享 程序员 微信小程序 职场和发展