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()); } }
上一篇:
5款热门的远程控制软件,让你事半功倍
下一篇:
软件测试工程师工资怎么样?高吗?