本文在mybatisplus官方快速开始示例基础上,稍作调整,实现基于springboot工程的mybatis增删改查。
首先,如果是基于springboot工程,则直接引入starter依赖即可,同时因为此处是按h2内存数据库模式,因此h2依赖也一并引入:
<!--mybatis plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
因为需要设定mapper扫描信息,增加配置类(此处官方案例是在application主类中增加,本案例与之有所不同)
@Configuration
@MapperScan("pers.techlmm.mbplus.mapper")
public class MBPlusConfig {
}
以下是建立数据库表,并插入初始数据:
drop table if exists t_user;
create table t_user
(
uid bigint(20) not null comment '用户ID',
name varchar(64) default null comment '用户名称',
birthday date default null comment '生日',
primary key (uid)
);
数据初始化脚本如下:
delete
from t_user;
insert into t_user(uid, name, birthday)
values (1, '张三', '1986-03-03'),
(2, '李四', '1988-04-04'),
(3, '王五', '1989-05-12');
基于数据库结构,编写USER实体类如下:
@TableName("T_USER")
@Data
@Builder
public class User {
@TableId
private Long uid;
private String name;
private LocalDate birthday;
}
补充说明:因为实际数据库有T_前缀,因此要通过@TableName注解来指定表名,同时,因为主键字段是uid,并非id,因为需通过@TableId来指定id字段,以便selectById进行识别和转换。
mapper类如下(暂无自定义方法):
public interface UserMapper extends BaseMapper<User> {
}
具体样例配置如下:
spring:
datasource:
schema: classpath:db/scheme-h2.sql
data: classpath:db/data-h2.sql
url: jdbc:h2:mem:test
username: root
password: test
编写测试用例如下:
@SpringBootTest
@Slf4j
public class UserTest {
@Autowired
UserMapper userMapper;
@Test
void crudTest() {
User user = User.builder().uid(4L).name("马六").birthday(LocalDate.now()).build();
log.info("create:{},user:{}", userMapper.insert(user), userMapper.selectById(4L));
user.setName("马六六");
log.info("update:{},user:{}", userMapper.updateById(user), userMapper.selectById(4L));
log.info("delete:{}", userMapper.deleteById(4L));
List<User> users = userMapper.selectList(null);
Assertions.assertEquals(3, users.size());
log.info("users:{}", users);
}
}
运行后输入如下信息:
create:1,user:User(uid=4, name=马六, birthday=2020-06-29)
update:1,user:User(uid=4, name=马六六, birthday=2020-06-29)
delete:1
[User(uid=1, name=张三, birthday=1986-03-03), User(uid=2, name=李四, birthday=1988-04-04), User(uid=3, name=王五, birthday=1989-05-12)]
到此,mybatis-plus快速使用就验证完成。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。