当前位置: 代码网 > it编程>编程语言>Java > SpringBoot使用MyBatis-Flex实现灵活的数据库访问

SpringBoot使用MyBatis-Flex实现灵活的数据库访问

2024年07月05日 Java 我要评论
创建数据库表create table if not exists `tb_account`( `id` integer primary key auto_increment,

创建数据库表

create table if not exists `tb_account`
(
    `id`        integer primary key auto_increment,
    `user_name` varchar(100),
    `age`       integer,
    `birthday`  datetime
);

insert into tb_account(id, user_name, age, birthday)
values (1, '张三', 18, '2020-01-11'),
       (2, '李四', 19, '2021-03-21');

创建 spring boot 项目,并添加 maven 依赖

可以使用 spring initializer 快速初始化一个 spring boot 工程
需要添加的 maven 主要依赖示例:

<dependencies>
    <dependency>
        <groupid>com.mybatis-flex</groupid>
        <artifactid>mybatis-flex-spring-boot-starter</artifactid>
        <version>1.8.8</version>
    </dependency>
    <dependency>
        <groupid>com.mysql</groupid>
        <artifactid>mysql-connector-j</artifactid>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupid>com.zaxxer</groupid>
        <artifactid>hikaricp</artifactid>
    </dependency>
    <!-- for test only -->
    <dependency>
        <groupid>org.springframework.boot</groupid>
        <artifactid>spring-boot-starter-test</artifactid>
        <scope>test</scope>
    </dependency>
</dependencies>

注意: 如果您当前使用的是 springboot v3.x 版本,需要把依赖 mybatis-flex-spring-boot-starter 修改为:mybatis-flex-spring-boot3-starter, 如下代码所示:

<dependencies>
    <dependency>
        <groupid>com.mybatis-flex</groupid>
        <artifactid>mybatis-flex-spring-boot3-starter</artifactid>
        <version>1.8.8</version>
    </dependency>
    <dependency>
        <groupid>com.mysql</groupid>
        <artifactid>mysql-connector-j</artifactid>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupid>com.zaxxer</groupid>
        <artifactid>hikaricp</artifactid>
    </dependency>
    <!-- for test only -->
    <dependency>
        <groupid>org.springframework.boot</groupid>
        <artifactid>spring-boot-starter-test</artifactid>
        <scope>test</scope>
    </dependency>
</dependencies>

对 spring boot 项目进行配置

在 application.yml 中配置数据源:

# datasource config
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/flex_test
    username: root
    password: 12345678

在 spring boot 启动类中添加 @mapperscan 注解,扫描 mapper 文件夹:

@springbootapplication
@mapperscan("com.mybatisflex.test.mapper")
public class mybatisflextestapplication {

    public static void main(string[] args) {
        springapplication.run(mybatisflextestapplication.class, args);
    }

}

编写实体类和 mapper 接口

这里使用了 lombok 来简化代码。

@data
@table("tb_account")
public class account {

    @id(keytype = keytype.auto)
    private long id;
    private string username;
    private integer age;
    private date birthday;

}
  • 使用 @table(“tb_account”) 设置实体类与表名的映射关系
  • 使用 @id(keytype = keytype.auto) 标识主键为自增
    mapper 接口继承 basemapper 接口:
public interface accountmapper extends basemapper<account> {}

开始使用

添加测试类,进行功能测试:

import static com.mybatisflex.test.entity.table.accounttabledef.account;

@springboottest
class mybatisflextestapplicationtests {

    @autowired
    private accountmapper accountmapper;

    @test
    void contextloads() {
        querywrapper querywrapper = querywrapper.create()
                .select()
                .where(account.age.eq(18));
        account account = accountmapper.selectonebyquery(querywrapper);
        system.out.println(account);
    }

}

控制台输出:

account(id=1, username=张三, age=18, birthday=sat jan 11 00:00:00 cst 2020)

以上的 示例 中, account 为 mybatis-flex 通过 apt 自动生成,只需通过静态导入即可,无需手动编码。更多查看 apt 文档。

注意:在构建queruwrapper的时候account这个地方会报红,是因为项目没有编译,编译一下就好了。

到此这篇关于springboot使用mybatis-flex实现灵活的数据库访问的文章就介绍到这了,更多相关springboot mybatisflex数据库访问内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com