• mybatis 或 mybatis-plus 执行 sql 的三种方式


    前言:

    mybatis 是目前非常流行的数据库框架,mybatis-plus 是 mybatis 的增强版(只做增强,不做改变),有兴趣的可以研究下。

    方式一:

    配置 xml 文件,该方式是比较通用的方法,适合任何 sql 语句(尤其是复杂 sql)。

    
    
    
    
        
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    注:大于号、小于号的写法:

    原sql语句符号

    转义符号

    >

    >

    >=

    >=

    <

    <

    <=

    <=

    方式二:

    使用 @Select 注解,该方式适合比较简单的 sql 语句,使用起来比较简单。

        @Select("select dept_code,dept_name from dept_info where source = #{source}")
        List getDeptBySource(@Param("source") Integer source);
    
    • 1
    • 2

    方式三:

    SqlSession 执行 sql,稍微复杂,不到万不得已不建议使用。mybatis-plus 很人性化的处理了增删改查,该方法适合不想做任何配置的人。

    【可参考整合 mybatis-plus 和分页查询功能到 springboot_-CSDN博客整合 mybatis-plus】。

    各种 Wrapper 用于构造条件:

    Wrapper

    说明

    Wrapper

    条件构造抽象类,最顶端父类

    AbstractWrapper

    用于查询条件封装,生成 sql 的 where 条件

    QueryWrapper

    查询条件封装,不是用lambda语法

    UpdateWrapper

    更新条件封装,用于对象更新操作

    AbstractLambdaWrapper

    Lambda 语法使用 Wrapper统一处理解析

    LambdaQueryWrapper

    Lambda语法使用的查询Wrapper

    LambdaUpdateWrapper

    Lambda 更新封装Wrapper

    条件语句:

    查询方式

    说明

    setSqlSelect

    设置 SELECT 查询字段

    where

    WHERE 语句,拼接 +WHERE 条件

    and

    AND 语句,拼接 +AND 字段=值

    andNew

    AND 语句,拼接 +AND (字段=值)

    or

    OR 语句,拼接 +OR 字段=值

    orNew

    OR 语句,拼接 +OR (字段=值)

    eq

    等于=

    allEq

    基于 map 内容等于=

    ne

    不等于<>

    gt

    大于>

    ge

    大于等于>=

    lt

    小于<

    le

    小于等于<=

    like

    模糊查询 LIKE

    notLike

    模糊查询 NOT LIKE

    in

    IN 查询

    notIn

    NOT IN 查询

    isNull

    NULL 值查询

    isNotNull

    IS NOT NULL

    groupBy

    分组 GROUP BY

    having

    HAVING 关键词

    orderBy

    排序 ORDER BY

    orderAsc

    ASC 排序 ORDER BY

    orderDesc

    DESC 排序 ORDER BY

    exists

    EXISTS 条件语句

    notExists

    NOT EXISTS 条件语句

    between

    BETWEEN 条件语句

    notBetween

    NOT BETWEEN 条件语句

    addFilter

    自由拼接 SQL

    last

    拼接在最后,例如:last(“LIMIT 1”)

    示例(BaseMapper 里面有所有的方法):

    int result = userMapper.insert(userPo);    // 增
    
    QueryWrapper queryWrapper= new QueryWrapper<>();
    queryWrapper.eq("uid", uid);
    int result = userMapper.delete(queryWrapper);    // 删
    
    UpdateWrapper updateWrapper = new UpdateWrapper<>();
    updateWrapper.eq("uid", uid);
    int result = userMapper.update(userPo, updateWrapper);    //改
    
    QueryWrapper queryWrapper= new QueryWrapper<>();
    queryWrapper.eq("uid", uid);
    List list = userMapper.selectList(queryWrapper);    //查
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    ImageJ软件
    【JavaEE初阶】 线程池详解与实现
    Kali 渗透WIFI
    Android基础第八天 | 字节跳动第四届青训营笔记
    【附源码】计算机毕业设计SSM图书管理系统
    并发编程-Java内存模型
    【Python深度学习】深度学习入门介绍
    Java Excel Poi 单元格颜色设置
    计算机编程常用快捷键
    C++ 就地构造对象
  • 原文地址:https://blog.csdn.net/m0_54861649/article/details/126112809