MyBatis-Flex 尝鲜

MyBatis-Flex

官网:官网地址

快速上手:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.12</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><name>mybatis-flex-test</name><description>mybatis-flex-test</description><properties><java.version>11</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.mybatis-flex</groupId><artifactId>mybatis-flex-spring-boot-starter</artifactId><version>1.7.5</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><dependency><groupId>com.mybatis-flex</groupId><artifactId>mybatis-flex-processor</artifactId><version>1.7.5</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><mainClass>com.example.demo.DemoApplication</mainClass><skip>true</skip></configuration></plugin></plugins></build></project>

创建实体类 User

package com.example.demo.entity;import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;import java.util.Date;@Table("user")
public class User {@Id(keyType = KeyType.Auto)private Integer id;private String nickname;private String username;private String account;private String password;private String phone;private  Integer sex;private String avatar;private  String wechat;private Integer userType;private Integer integral;private Integer vip;private String reserve;private Integer sort;private  Integer auth;private  Integer status;private Boolean del;private Date createTime;private Date updateTime;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getNickname() {return nickname;}public void setNickname(String nickname) {this.nickname = nickname;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getAccount() {return account;}public void setAccount(String account) {this.account = account;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}public Integer getSex() {return sex;}public void setSex(Integer sex) {this.sex = sex;}public String getAvatar() {return avatar;}public void setAvatar(String avatar) {this.avatar = avatar;}public String getWechat() {return wechat;}public void setWechat(String wechat) {this.wechat = wechat;}public Integer getUserType() {return userType;}public void setUserType(Integer userType) {this.userType = userType;}public Integer getIntegral() {return integral;}public void setIntegral(Integer integral) {this.integral = integral;}public Integer getVip() {return vip;}public void setVip(Integer vip) {this.vip = vip;}public String getReserve() {return reserve;}public void setReserve(String reserve) {this.reserve = reserve;}public Integer getSort() {return sort;}public void setSort(Integer sort) {this.sort = sort;}public Integer getAuth() {return auth;}public void setAuth(Integer auth) {this.auth = auth;}public Integer getStatus() {return status;}public void setStatus(Integer status) {this.status = status;}public Boolean getDel() {return del;}public void setDel(Boolean del) {this.del = del;}public Date getCreateTime() {return createTime;}public void setCreateTime(Date createTime) {this.createTime = createTime;}public Date getUpdateTime() {return updateTime;}public void setUpdateTime(Date updateTime) {this.updateTime = updateTime;}@Overridepublic String toString() {return "User{" +"id=" + id +", nickname='" + nickname + '\'' +", username='" + username + '\'' +", account='" + account + '\'' +", password='" + password + '\'' +", phone='" + phone + '\'' +", sex=" + sex +", avatar='" + avatar + '\'' +", wechat='" + wechat + '\'' +", userType=" + userType +", integral=" + integral +", vip=" + vip +", reserve='" + reserve + '\'' +", sort=" + sort +", auth=" + auth +", status=" + status +", del=" + del +", createTime=" + createTime +", updateTime=" + updateTime +'}';}
}

注意:可以使用Lombok 插件 但是可能会不兼容 导致项目无法正常启动 同时springboot版本不能太高2.7.x就可以了

创建Mapper接口

package com.example.demo.mapper;import com.example.demo.entity.User;
import com.mybatisflex.core.BaseMapper;public interface UserMapper extends BaseMapper<User> {
}

测试SQL脚本

/*Navicat Premium Data TransferSource Server         : localhost_3306Source Server Type    : MySQLSource Server Version : 50737Source Host           : localhost:3306Source Schema         : db_testTarget Server Type    : MySQLTarget Server Version : 50737File Encoding         : 65001Date: 21/12/2023 12:57:00
*/SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (`id` bigint(20) NOT NULL AUTO_INCREMENT,`nickname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '昵称',`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '真实用户名(身份证上的用户名)',`account` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '登录账号',`password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',`phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '手机号',`sex` int(1) NULL DEFAULT 0 COMMENT '性别(0保密,1女,2男)',`avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像',`wechat` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信号',`user_type` int(1) NULL DEFAULT NULL COMMENT '用户类型(0超级管理员,1管理员,2系统用户)',`integral` int(11) NOT NULL DEFAULT 0 COMMENT '用户积分',`vip` int(1) NULL DEFAULT 3 COMMENT 'vip等级',`reserve` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备用字段',`sort` int(1) NULL DEFAULT 1 COMMENT '排序 数字越小越靠前',`auth` int(1) NOT NULL DEFAULT 0 COMMENT '用户是否认证(1已认证,0未认证)',`status` int(1) NOT NULL DEFAULT 0 COMMENT ' 用户状态(1,可用,0禁用)',`del` bigint(1) NULL DEFAULT NULL COMMENT '逻辑删除(1 删除 ,0 未删除)',`create_time` datetime NOT NULL COMMENT '创建时间',`update_time` datetime NOT NULL COMMENT '更新时间',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 294 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;SET FOREIGN_KEY_CHECKS = 1;

测试类

package com.example.demo;import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import com.mybatisflex.core.query.QueryWrapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import java.util.List;import static com.example.demo.entity.table.UserTableDef.USER;@SpringBootTest
class DemoApplicationTests {@Autowiredprivate UserMapper userMapper;@Testvoid testFlex() {QueryWrapper queryWrapper = QueryWrapper.create().select().where(USER.ID.between(1,30));List<User> users = userMapper.selectListByQuery(queryWrapper);users.forEach(System.out::println);}
}

测试效果

在这里插入图片描述
至此完成项目搭建,其他细节看官方文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/290255.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git 储藏(stash)用法

储藏的基本用法 保存当前的更改 1、查看储藏 git stash list2、更改保存到一个储藏中&#xff1a; git stash save "info"其中&#xff0c;“info” 是可选的注释信息&#xff0c;可以简要描述这个储藏的内容。 3、恢复之前保存的更改 可以使用下面的命令将之前…

VMware vSphere 虚拟机迁移按钮灰色解决方案

现象&#xff1a;在 vCenter Server 中右键单击虚拟机&#xff0c;然后单击迁移时&#xff0c;迁移选项将灰显。 原因&#xff1a;在虚拟机备份完成后&#xff0c;没有移除 vCenter Server 数据库 vpx_disabled_methods 表中的条目时&#xff0c;可能会出现此问题。 解决方案&a…

深度学习模型压缩方法:剪枝方法分类介绍

本文将介绍深度学习模型压缩方法中的剪枝,内容从剪枝简介、剪枝步骤、结构化剪枝与非结构化剪枝、静态剪枝与动态剪枝、硬剪枝与软剪枝等五个部分展开。 一、剪枝简介 在介绍剪枝之前,首先介绍过参数化这个概念,过参数化主要是指在训练阶段,在数学上需要进行大量的微分求解…

独立站退款率太高会怎么样?如何解决独立站退款纠纷?——站斧浏览器

独立站退款率太高会怎么样&#xff1f; 当独立站的退款率过高时&#xff0c;可能会对卖家和平台产生一些负面影响&#xff1a; 信誉受损&#xff1a;退款率过高可能会导致卖家的信誉受损。买家在购物时通常倾向于选择评价好的卖家&#xff0c;高退款率可能会让卖家的评价下降…

重新配置torch1.8 cuda11.1 torchtext0.9.0虚拟Pytorch开发环境

这里写目录标题 起因发现选择安装cuda 11.1核对下自己的显卡是否支持下载该版本的CUDACUDA下载地址CUDA安装过程 在anaconda中创建一个虚拟环境1.以下是环境的配置过程2.查看虚拟环境列表3.激活虚拟环境 安装torch和torchtext包的过程1.输入下面这句代码&#xff0c;就可以直接…

【Spring】15 ApplicationContextAware 接口

文章目录 1. 简介2. 作用3. 使用3.1 创建并实现接口3.2 配置 Bean 信息3.3 创建启动类3.4 启动 4. 应用场景总结 Spring 框架提供了许多回调接口&#xff0c;用于在 Bean 的生命周期中执行特定的操作。ApplicationContextAware 接口是其中之一&#xff0c;它允许 Bean 获取对 A…

Python | Flask测试:发送post请求的接口测试

HTTP/1.1 协议规定的 HTTP 请求方法有OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 几种。POST通常用来向服务端提交数据&#xff0c;主要用于提交表单、上传文件。 HTTP 协议是以ASCII码传输&#xff0c;建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为…

C语言数据结构-排序

文章目录 1 排序的概念及运用1.1 排序的概念1.2 排序的应用 2 插入排序2.1 直接插入排序2.2 希尔排序2.3 直接排序和希尔排序对比 3 选择排序3.1 堆排序3.2 直接选择排序 4 交换排序4.1 冒泡排序4.2 快速排序4.2.1 挖坑法14.2.2 挖坑法24.2.3 挖坑法3 5 并归排序6 十万级别数据…

Opencv实验合集——实验五:高动态范围

1.概念 高动态范围成像&#xff08;HDRI 或 HDR&#xff09;是一种用于成像和摄影的技术&#xff0c;可以再现比标准数字成像或照相技术更大的动态光度范围。虽然人眼可以适应各种光线条件&#xff0c;但大多数成像设备每通道使用 8 位&#xff0c;因此我们仅限于 256 级。当我…

Python实验作业,爬虫,中国院士信息

实验内容&#xff1a; 爬取中国工程院网页上&#xff0c;把每位院士的简介保存为本地文本文件&#xff0c;把每位院士的照片保存为本地图片&#xff0c;文本文件和图片文件都以院士的姓名为主文件名。 实验代码&#xff1a; import os.path import time from urllib.request …

Zookeeper-集群架构

Zookeeper集群架构 集群角色 Leader&#xff1a; 领导者 事务请求&#xff08;写操作&#xff09;的唯一调度者和处理者&#xff0c;保证集群事务处理的顺序性&#xff1b;集群内部各个服务器的调度者。对于create、setData、delete等有写操作的请求&#xff0c;则要统一转发…

华为OD机试 - 区间交集 - 深度优先搜索dfs算法(滥用)(Java 2023 B卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述备注用例1、输入2、输出3、说明 四、解题思路1、核心思路&#xff1a;2、具体步骤 五、Java算法源码再重新读一遍题目&#xff0c;看看能否优化一下~解题步骤也简化了很多。 六、效果展示1、输入2、输出3、说明 华为OD机试 2…