前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MybatisPlus快速开始

MybatisPlus快速开始

原创
作者头像
技术路漫漫
修改2020-06-30 10:03:06
3980
修改2020-06-30 10:03:06
举报
文章被收录于专栏:技术路漫漫技术路漫漫

本文在mybatisplus官方快速开始示例基础上,稍作调整,实现基于springboot工程的mybatis增删改查。

依赖引入

首先,如果是基于springboot工程,则直接引入starter依赖即可,同时因为此处是按h2内存数据库模式,因此h2依赖也一并引入:

代码语言:txt
复制
<!--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主类中增加,本案例与之有所不同)

代码语言:txt
复制
@Configuration
@MapperScan("pers.techlmm.mbplus.mapper")
public class MBPlusConfig {

}

数据结构初始化

以下是建立数据库表,并插入初始数据:

代码语言:txt
复制
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)
);

数据初始化脚本如下:

代码语言:txt
复制
delete
from t_user;

insert into t_user(uid, name, birthday)
values (1, '张三', '1986-03-03'),
       (2, '李四', '1988-04-04'),
       (3, '王五', '1989-05-12');

实体及mapper类编写

基于数据库结构,编写USER实体类如下:

代码语言:txt
复制
@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类如下(暂无自定义方法):

代码语言:txt
复制
public interface UserMapper extends BaseMapper<User> {

}

application.yml配置

具体样例配置如下:

代码语言:txt
复制
spring:
  datasource:
    schema: classpath:db/scheme-h2.sql
    data: classpath:db/data-h2.sql
    url: jdbc:h2:mem:test
    username: root
    password: test

样例测试

编写测试用例如下:

代码语言:txt
复制
@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);
    }
}

运行后输入如下信息:

代码语言:txt
复制
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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 依赖引入
  • 配置类编写
  • 数据结构初始化
  • 实体及mapper类编写
  • application.yml配置
  • 样例测试
  • 参考资料
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档