首页 > 其他分享 >Mybatis系列之(六)MyBatis的CRUD操作

Mybatis系列之(六)MyBatis的CRUD操作

时间:2024-02-28 09:37:58浏览次数:23  
标签:实体类 插入 CRUD MyBatis Mybatis 操作 id

MyBatis的CRUD操作

CRUD操作指的是增加 (Create)、 检索 (Retrieve)、更新 (Update)和删除 (Delete)操作

1. 编程步骤

  1. 在dao接口中写方法
  2. 映射配置文件中写对应的配置
    如果是Insert操作,占位符使用#{},括号中的内容要与实体类属性的get/set方法名保持一致(如果是通过右键生成的方法,直接填写属性名即可)
  3. 测试类中编写测试方法

2. Creat 操作

Mybatis默认关闭自动提交事务操作,需要手动提交,否则事务会进行回滚
注:如果进行了插入操作且没有提交事务,则插入操作时自增的ID不可再用
在这里插入图片描述
在这里插入图片描述

3. Mapper 中 parameterType 的值为整数时的几个写法

int/Integer/INTEGER/INT/java.lang.Integer

4. Mapper 中 parameterType 的值为基本类型或基本类型的包装类

这种情况下,dao的参数只有一个,占位符的名称可以随便写
在这里插入图片描述
在这里插入图片描述

5. 查询结果为多个

dao中通过集合接收查询结果
在这里插入图片描述
mapper 中 resultType 属性的值为 List 集合的实体类
在这里插入图片描述

6. 模糊查询的两种方式

方式一(常用)
在这里插入图片描述
方式二(不常用,了解)
在这里插入图片描述
方式二中的mapper占位符固定为value
在这里插入图片描述

7. 获取新增数据的 id

前提:插入数据时id字段是自增长的
这样在插入数据时就无法获取到插入记录的id
mapper中如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
resultType 表示返回值类型
order="AFTER" 表示在插入操作之后执行获取id的操作
order="BEFORE" 表示在插入操作之前执行获取id的操作
在这里插入图片描述
通过这种方式,获取到的id已经存入了实体类

标签:实体类,插入,CRUD,MyBatis,Mybatis,操作,id
From: https://www.cnblogs.com/wzzzj/p/18038971

相关文章

  • Mybatis系列之(五)Mybatis在使用基于代理Dao的方式实现增删改查时都干了啥事儿
    Mybatis在使用基于代理Dao的方式实现增删改查时都干了啥事儿绝对路径:可能出现机器中没有D盘的情况,需要修改代码相对路径:部署项目后src就不存在了,需要修改代码基于以上两点,读取配置文件仅通过图中的两种方式进行读取构建者模式:专业的事儿由专业的人来做工厂模式:需要新的类的对......
  • Mybatis系列之(三)注解开发步骤
    注解开发步骤1.项目结构新建项目,创建与XML开发完全相同的项目结构删除resources/com文件夹2.全局配置文件修改SqlMapConfig.xml文件的mapper配置部分<!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件--><mappers><!--resource......
  • Mybatis系列之(二)Mybatis 入门
    Mybatis入门1.准备数据创建数据库eesy_mybatis,创建表user,插入数据2.pom文件打包方式<packaging>jar</packaging>导入坐标mybatis坐标mybatis官网文档-入门-安装<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> &......
  • Mybatis系列之(一)Mybatis 概述
    Mybatis概述1.三层架构解决持久层问题项目=框架(半成品)+业务需求表现层:展示数据业务层:业务需求持久层:数据库交互2.持久层技术解决方案2.1JDBC技术(规范)2.2Spring的JdbcTemplate(工具类)Spring中对JDBC的简单封装2.3Apache的DBUtils(工具类)对JDBC的简单封装3.......
  • idea使用MybatisX插件根据表自动生成代码
    1.情景展示在实际开发过程中,根据数据库的表生成对应的增删改查代码,最为常见。除了使用公司封装的代码自动生成外,有没有通用的呢?2.具体分析在idea当中,我们可以使用MybatisX插件生成:表对应的实体类、dao层所使用的的mapper.java文件、mybatis对应的xml文件、service层所需的......
  • spring boot 中使用MybatisPlus的自动填充createTime和updateTime
    首先需要在实体类的字段上加上注解,并且将类型更改为LocalDateTime@TableField(fill=FieldFill.INSERT)@JsonInclude(value=JsonInclude.Include.NON_NULL)@JsonFormat(pattern="yyyy-MM-ddHH:mm:ss")privateLocalDateTimecreateTime;@TableFie......
  • Mybatis Plus
    MybatisPlus简介MybatisPlus是基于mybatis的一种增强工具,我们可以使用这个组件来简化项目中的单表操作以及其他更复杂的操作。其特点是:无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动会自动注入基本CUBD,性能基本无损耗强大的CRUD操作:内置通用......
  • mybatis-spring原理胡乱记一下
    1. 项目启动时会通过配置构建configuration,解析*mapper.xml文件,生成mappedstatement[mapperinterface+methodName]; 2. 通过MapperRegistry注mapper,通过MappereRroxyFactory生成MapperProxy[jdk动态代理],添加到mapperregistry中;3.当调用mapper接口时,通过调用生成......
  • 【Mybatis-Plus】Mybatis-Plus 是如何整合到 SpringBoot 中的呢?
    1 前言上次我们看了Mybatis是如何整合到SpringBoot的,那么平时我们可能直接用的就是Mybatis-Plus,那么它又是如何结合到的SpringBoot的呢?原理其实是一样的,这节我们就来看看。看的过程中,其实会深深体会Mybatis-Plus就是对Mybatis的增强,类似SpringBoot对Spring的增......
  • 【Mybatis】Mybatis 是如何整合到 Spring 中的呢?
    1 前言当你把Spring、SpringBoot、Mybatis或者Mybatis-Plus的源码都看过后,那有没有想过比如Mybatis如何整合到Spring或者SpringBoot的呢?就是思考框架跟框架之间的融合,那么这节我们就来看看单纯的Mybatis是如何融合到SpringBoot的。融合Spring的就不看了,毕竟大......