首页 > 其他分享 >Mybatis的增删改查

Mybatis的增删改查

时间:2022-11-10 23:22:24浏览次数:42  
标签:map 功能 标签 改查 查询 增删 sql Mybatis id

Mybatis的增删改查,主要学了一下几个功能:查询所有,查看详情,动态条件查询,单条件动态查询,添加功能,修改功能,根据id功能删除,批量删除。还有参数传递的一些底层原理。

  查询所有:在mapper接口中定义一个方法:List<Brand>  selectAll(),在mapper.xml配置文件中编写sql语句<select id="selectAll resultMap=brandResultMap" > select * from tb_user;  </select>

这个brandResultMap是一个用来完成映射的标签,因为表的列名和实体类的属性名有时候不一样会导致执行sql时没有参数值为null,所以需要设置brandResultMap,id是brandResultMap的唯一标识,就像其他标签中的id一样,然后type中定义返回的结果类型。在这个标签中id指定主键字段的标识属性,result指定一般字段的标识属性。在id或者result标签中,column中写的是表的字段名,propert中写实体属性名,总之就是谁不一样就把谁写上去。

 

 查看详情:查看详情是根据表中id,来查看对象的详情 ,在mapper.xml文件中编写sql为 <select  id ="selectById"  resultMap="brandReultMap"> select * from tb_brand where id = #{id};</select>

 

动态条件查询:当查询条件很多,而且不确定时,需要用到动态条件查询,需要用到<if>标签判断输入的查询参数是否为null(空值),还有<where>标签,这个标签是防止出现sql语句的拼接错误。

 

 

单条件查询:当查询条件是可以选择的,但是每次只能查询一次时,就要用到单条件查询 ,<choose>标签相当于switch,<when>标签相当于case

 

 

添加功能:添加功能就是 add 然后需要注意的时是:标签中设置useGeneratedKeys="true"  keyProperty="id"这两个属性可以在执行sql的结果后能得到id号

 

 修改功能:update  tb_brand set ...where id = #{id};。修改功能中也需要用<if>标签判断输入的更改参数是否为空,然后<set>标签就有点类似于<where>标签,是为了防止sql语句拼接错误。

 

 

删除功能:

<delete id="delectById"> 

delete from tb_brand where id = #{id};

</delete>

 

批量删除:删除多个,把id号存在数组当中,然后遍历数组得到id,再根据id进行删除

 

 参数传递:讲解调用接口的select,update方法的时候,参数是怎么传进去的

1.多个参数:封装成map集合,可以使用@Param注解

2.单个参数:pojo类型:直接使用,属性名和参数占位符名称一致

Map集合:直接使用,键名和参数占位符名称一致

Collection:封装成map集合,可以使用@Param注解,替换map集合中默认的arg键名

List:封装成map集合,。。。。

Array:封装成map集合

其他类型:直接使用

 

标签:map,功能,标签,改查,查询,增删,sql,Mybatis,id
From: https://www.cnblogs.com/y-258/p/16879200.html

相关文章

  • SpringBoot07(springboot整合MyBatis)
    一、整体思路解析:二、步骤分析:1-搭建springboot的工程(在idea里面搭建,略)2-引入MyBatis的起步依赖,添加msql驱动<?xmlversion="1.0"encoding="UTF-8"?><projectxm......
  • Spring整合Mybatis分析与编码
    Spring整合Mybatis分析与编码正文Mybatis在开发的过程中,必须要经过的步骤有数据表-实体类-实体类别名-mapper接口-mapper文件实现-mapper文件注册-mybatisAPI......
  • SpringBoot 整合mybatis-plus
    SpringBoot整合mybatis-plus1、导入Maven依赖<dependencies><!--web依赖--><dependency><groupId>org.springframework.boot</groupId>......
  • 多数据源配置MyBatisPlus(十八)
    二八佳人体似酥,腰间仗剑斩愚夫。虽然不见人头落,暗里教君骨髓枯。上一章简单介绍了多数据源配置MyBatis(十七),如果没有看过,​​请观看上一章​​工作中,在业务的发展或业务......
  • 多数据源配置MyBatis(十七)
    二八佳人体似酥,腰间仗剑斩愚夫。虽然不见人头落,暗里教君骨髓枯。上一章简单介绍了多数据源配置Jpa(十六),如果没有看过,​​请观看上一章​​工作中,在业务的发展或业务数据......
  • SpringBoot整合MyBatisPlus(十四)
    二八佳人体似酥,腰间仗剑斩愚夫。虽然不见人头落,暗里教君骨髓枯。上一章简单介绍了SpringBoot整合Thymeleaf(十三),如果没有看过,​​请观看上一章​​一.MyBatisPlus的简......
  • Mybatis
    Mybatis1.简介1.1什么是mybatisMyBatis是一款优秀的持久层框架它支持自定义SQL、存储过程以及高级映射MyBatis免除了几乎所有的JDBC代码以及设置参数和获......
  • MyBatis-Plus 之selectMaps、selectObjs、selectCount、selectOne的使用
    转自:https://www.jb51.net/article/239792.htm 首先创建一个数据库表,如下图所示:然后创建一个SpringBoot项目,pom.xml和配置如下:1<?xmlversion="1.0"encoding="U......
  • MybatisPlus实现插入或更新数据时自动生成时间戳
    MybatisPlus实现插入或更新数据时,自动生成时间戳功能数据库表对应字段的类型应该是DateTime或者timestamp我需要在插入或更新数据时,为create_time字段自动生成时间戳......
  • MyBatis快速入门
    1.查询user表中创建数据首先创建mysql数据库,并更新里面内容 2.创建模块,导入坐标3.编写MyBatis核心配置文件4.编写SQL映射文件5.编码......