SpringBoot + Mybatis系列教程之 CURD 基本使用姿势

mybatis 作为数据的 ORM 框架,在国内的应用市场还是非常可观的,当初刚开始工作时使用 spring + mybatis 进行开发,后来也使用过 hibernate, jdbctemplate, jooq,mybatisplus 等其他的一些框架,

就个人使用感触来讲 jooq 的使用姿势和写 sql 差不多,基本上可以会写 sql 的无需额外的培训,立马可以上手;

hibernate 最大的特点就是借助方法名来映射 sql 语句,非常有特点,但是当查询条件复杂一些的话,对小白而言就没有那么友好了;

而 jdbctemplate,这个在小项目,轻量的 db 操作中,用起来还是很爽的,非常灵活,但是也有一些点需要特别注意,比如 queryForObject,查不到数据时抛异常而不是返回 null;

至于 mybatis 以及衍生的 mybatis-plus,也就是接下来的主角了,它的特点如何,为什么受到国内大量开发者的追捧,将它作为 db 操作的第一 ORM 框架,让我们看完之后再说

I. 基础环境搭建

接下来的 Mybatis 的项目演示,主要是在 SpringBoot 的环境下运行,底层的数据库采用 MySql,对应的版本信息如下

  • springboot: 2.2.0.RELEASE
  • mysql: 5.7.22

1. SpringBoot 项目配置

关于 SpringBoot 的项目创建过程省略,下面是核心的 pom 依赖

<dependencies>
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.2.0</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
</dependencies>

核心的依赖mybatis-spring-boot-starter,至于版本选择,到 mvn 仓库中,找最新的

另外一个不可获取的就是 db 配置信息,appliaction.yml

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/story?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password:

2. 数据库准备

在本地数据库中,新增了一个表如下

CREATE TABLE `money` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(20) NOT NULL DEFAULT '' COMMENT '用户名',
  `money` int(26) NOT NULL DEFAULT '0' COMMENT '钱',
  `is_deleted` tinyint(1) NOT NULL DEFAULT '0',
  `create_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`),
  KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=551 DEFAULT CHARSET=utf8mb4;

接下来本文涉及到的 CURD 都是针对这张表来说的

II. MyBatis CURD

接下来我们将从 0 到 1,实现基于 mybatis 进行 mysql 操作的全流程

1. 基本对象

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值