2.4 MyBatis的CRUD操作

双11提前购!买周边/年卡,一键领4重福利! 送200元神券包+10%红包返利+最高10年VIP!还能抽iPhone18Pro!仅限1次,速抢>> 阅读详情


1.概述

我们在上一小节完成了MyBatis的相关配置,并通过测试类完成了对其功能的测试,这一小节,我们将通过MyBatis完成常规业务的CRUD操作。

2.具体案例

2.1 根据ID查询数据

2.1.1 需求

要求根据ID获取对应用户的数据

2.1.2 编辑接口方法

package com.study.mapper;

import com.study.pojo.User;

import java.util.List;

public interface UserMapper {

    //查询User表中的所有数据
    public List<User> findAll();
    
    //根据ID查询数据
    public User findUserById(Integer id);
        
    
}

2.1.3 编辑UserMapper.xml 映射文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!--namespace是mybaits映射文件的唯一标识,与接口对应-->
<mapper namespace="com.study.mapper.UserMapper">
    <!--id 表示接口方法
        resultType 返回值结果类型
    -->
    <select id="findAll" resultType="com.study.pojo.User">
        select * from demo_user
    </select>

    <!--根据ID查询用户数据-->
    <select id="findUserById" parameterType="Integer" resultType="com.study.pojo.User">
        select * from demo_user where id = #{id}
    </select>
</mapper>

要注意的是,我们根据传入的参数进行查询,传入的参数是一个变量,变量使用#{id},id代表参数的名称,并且使用parameterType="Integer"来制定参数的类型。

2.1.4 编辑单元测试方法

 @Test
    public void testUserById(){
        int id = 1;
        SqlSession sqlSession = sqlSessionFactory.openSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        User user = userMapper.findUserById(id);
        System.out.println(user);
        sqlSession.close();
    }

运行单元测试方法后,我们可以在控制台查看对应输出的查询结果:
在这里插入图片描述

2.2 用户新增案例

2.2.1 需求

根据User对象,实现用户新增

2.2.2 编辑接口方法

    //根据User对象,实现用户新增
    public Integer saveUser(User user);

因为是新增数据,接口方法中可以不返回内容,我们这里为了便于观察执行是否成功,返回一个Integer类型的变量,变量的内容为影响的行数。

2.2.3 编辑UserMapper.xml 映射文件

    <!--实现数据新增 新增成功之后自动返回影响的行数
        数据取值时 使用#{属性名} 获取数据
    -->
    <insert id="saveUser">
        insert into demo_user(id,name,age,sex) value (null,#{name},#{age},#{sex})
    </insert>

ID作为主键,一般都是自增的形式存在,不会手动的传入值,所以我们这里使用null即可,入库时,数据库会自动为其赋值。

2.2.4 编辑单元测试方法

 //实现User对象的新增操作
    //mybatis在执行"更新"操作时 需要提交事务
    @Test
    public void testSaveUser(){
        User user = new User(null,"嫦娥",16, "女");
        SqlSession sqlSession = sqlSessionFactory.openSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        int rows = userMapper.saveUser(user);
        System.out.println("影响的行数:"+rows);
        //提交事务
        sqlSession.commit();
        sqlSession.close();
    }

因为我们这里要给对象进行赋值,为了方便在进行创建时就赋值,所以要在我们User的pojo
类中添加无参构造和全参构造的注解。

并且对于新增等对数据库中数据有影响的操作,在操作完成后,一定要提交数据库事务,否则虽然你已经操作了,但是数据库并没有保存你对数据库内容作出的更改。

在这里插入图片描述

2.3 用户信息修改案例

2.3.1 需求

我们可以在数据库查看我们刚刚添加的数据,这里根据用户ID修改用户的相关数据
在这里插入图片描述

2.3.2 编辑接口方法

    //根据用户信息的ID修改用户的相关数据
    public Integer updateUser(User user);

2.3.3 编辑UserMapper.xml 映射文件

    <update id="updateUser">
        update demo_user set name = #{name}, age = #{age}, sex = #{sex} where id = #{id}
    </update>

2.3.4 编辑单元测试方法

    /*
    * 根据用户信息的ID修改用户的相关数据
    */
    @Test
    public void updateUser(){
        //1.首先进行数据的封装
        User user = new User(231,"嫦娥姐姐",99,"仙女");
        SqlSession sqlSession = sqlSessionFactory.openSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        Integer rows = userMapper.updateUser(user);
        //2.因为对数据的修改不是一定会成功的,所以进行判断,成功后才提交事务
        if(rows>0){
            sqlSession.commit();
        }
        System.out.println("影响了:" + rows+"行");
        sqlSession.close();

    }

我们可以看到数据以成功修改:

在这里插入图片描述

在这里插入图片描述

2.4 用户删除案例

2.4.1 需求

我们将刚才修改的用户信息进行删除操作

2.4.2 编辑接口方法

    //将刚才修改的用户信息进行删除操作
    public Integer deleteUserById(Integer id);

2.4.3 编辑UserMapper.xml 映射文件

    <delete id="deleteUserById">
        delete from demo_user where id = #{id}
    </delete>

2.4.4 编辑单元测试方法

    /*
    * 将刚才修改的用户信息进行删除操作
    */
    /*
    * 将刚才修改的用户信息进行删除操作
    */
    @Test
    public void testDeleteUserById(){
        int id = 231;
        //获取sqlSession后自动提交事务
        SqlSession sqlSession = sqlSessionFactory.openSession(true);
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        Integer rows = userMapper.deleteUserById(id);
        System.out.println("影响了:" + rows+"行");
        sqlSession.close();
    }

sqlSessionFactory.openSession方法可对其提供参数开启自动的事务提交功能,

执行后我们可以看到数据以成功删除:

在这里插入图片描述

在这里插入图片描述

2.5 利用Map集合封装数据

2.5.1 需求

查询 age> 100 并且 age < 1000的用户.
Sql: select * from demo_user where age > 100 and age < 1000

2.5.2 编辑接口方法

    //查询 age> 100 并且 age < 1000的用户.
    public List findByAge(Map map);

我们将多个查询条件封装到一个map集合中,并将查询到的多个结果,封装为一个list集合进行返回。

2.5.3 编辑UserMapper.xml 映射文件

    <!--特殊转义字符
        > &gt;
        < &lt;
        & &amp;
        万能转义标签   <![CDATA[ 需要转义的内容 ]]>
    -->
    <select id="findByAge" resultType="com.study.pojo.User">
        <!--select * from demo_user where age >= #{minAge} and age &lt;= #{maxAge}-->
    <![CDATA[
        select * from demo_user where age >= #{minAge} and age <= #{maxAge}
        ]]>
    </select>

在sql语句的完成中,有些符号并不能直接输入,例如小于号会被当做开始标签解析,此时需要使用转义符代替。并且,我们的查询条件被封装到了map集合中,所以在sql中需要填入的是map集合中{key:value}结构中的key,即minAge以及maxAge;

2.5.4 编辑单元测试方法

    /*
    * //查询 age> 100 并且 age < 1000的用户.
    */
    @Test
    public void testMap(){
        //利用map集合封装查询条件
        Map map = new HashMap();
        map.put("minAge", 100);
        map.put("maxAge", 1000);
        SqlSession sqlSession = sqlSessionFactory.openSession(true);
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        List userListe = userMapper.findByAge(map);
        System.out.println(userListe);
        sqlSession.close();
    }

我们运行测试方法,可以在控制台看到对应输出的查询结果:
在这里插入图片描述

2.6 @Param注解使用

2.6.1 需求

查询 age> 100 并且 age < 1000的用户.
Sql: select * from demo_user where age > 100 and age < 1000

我们使用另一种方式来实现2.5的需求

2.6.2 编辑接口方法

    //方法二:利用@param注解
    public List findParamByAge(@Param("minAge") int minAge,@Param("maxAge") int maxAge);

对于MyBatis来说,一般只支持单值传参,此时我们就需要将多值转换为单值进行传参,我们首选上面使用的map集合封装,这里我们使用@Param注解,其本质也是疯转为map集合,@Param注解中传入的参数就是key。

2.6.3 编辑UserMapper.xml 映射文件

    <select id="findParamByAge"  resultType="com.study.pojo.User">
        <!--select * from demo_user where age >= #{minAge} and age &lt;= #{maxAge}-->
        <![CDATA[
        select * from demo_user where age >= #{minAge} and age <= #{maxAge}
        ]]>
    </select>

2.6.4 编辑单元测试方法

 @Test
    public void testParam(){
        //利用@Param注解集合封装查询条件
        int minAge = 100;
        int maxAge = 1000;
        SqlSession sqlSession = sqlSessionFactory.openSession(true);
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        List userListe = userMapper.findParamByAge(minAge,maxAge);
        System.out.println(userListe);
        sqlSession.close();
    }

2.7 模糊查询案例

2.7.1 需求

查询name中包含"乔"字的用户
Sql: 'ELECT * FROM demo_user WHERE NAME LIKE “%乔%” ’

2.7.2 编辑接口方法

    //查询name中包含"乔"字的用户
    public List selectUserListByLike(String name);

2.7.3 编辑UserMapper.xml 映射文件

    <select id="selectUserListByLike" resultType="com.study.pojo.User">
        select * from demo_user where name like "%"#{name}"%"
    </select>

2.7.4 编辑单元测试方法

    @Test
    public void testLike(){
        SqlSession sqlSession = sqlSessionFactory.openSession(true);
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        String name = "乔";
        List userListe = userMapper.selectUserListByLike(name);
        System.out.println(userListe);
        sqlSession.close();
    }

运行后我们可以在控制台看到查询结果:
在这里插入图片描述

3. 简化Mybatis配置

3.1 别名设置

3.1.1 别名说明

说明: resultType中的属性每次都需要添加全路径 比较繁琐.可以使用别名进行优化
在这里插入图片描述

3.1.2 别名设置

编辑mybatis-config.xml配置文件,在<configuration>标签中添加别名设置标签<typeAliases>,其配置内容顺便有要求,别名设置标签<typeAliases>应作为<configuration>表中中的第一个配置;
在这里插入图片描述

    <!--
        要注意MyBatis.config配置文件,对于配置信息的引入有顺序要求
        peoperties?,settings?,typeAliases?,typeHandlers?,objectFactory
    -->

    <typeAliases>
        <!--type:pojo对象路径  alias:pojo对象别名-->
        <typeAlias type="com.study.pojo.User" alias="User"/>
    </typeAliases>

3.1.3 使用别名

    <!--id 表示接口方法
        resultType 返回值结果类型
    -->
    <select id="findAll" resultType="User">
        select * from demo_user
    </select>

我们将resultType的值改为别名后测试是否可以正常运行。

3.1.4 使用别名包

说明 :当 相关类太多时,要一行一行的写别名,比较麻烦,所以实际操作时,一般使用别名包直接指定,别名包中包含的路径一般是不变的,不同只是 路径下的类名不同,设置别名包后便可以直接使用类名,不再重复写全路径与设置别名。

    <!--
        要注意MyBatis.config配置文件,对于配置信息的引入有顺序要求
        peoperties?,settings?,typeAliases?,typeHandlers?,objectFactory
    -->

    <typeAliases>
        <!--type:pojo对象路径  alias:pojo对象别名-->
        <!--<typeAlias type="com.study.pojo.User" alias="User"/>-->
        <package name="com.study.pojo"/>
    </typeAliases>

我们再次运行3.1.3中的方法,看是否正常。

3.2 简化Sql语句

说明:实际工作中,sql查询语句考虑到 效率问题一般不写*号,都是具体的字段名,当字段较多时,重复写字段也是比较麻烦的,所以可以通过include 直接引入设置好的相关字段。

 <!--说明:
        1.如果配置了别名包: 则映射时会自动的拼接包路径
        2. include refid="引用SqlID"
     -->
    <select id="findUser" resultType="User">
        select <include refid="user_cloumn"/>  from demo_user
    </select>

    <!--2.简化Sql-->
    <sql id="user_cloumn">
        id,name,age,sex
    </sql>

买完就返现!双11神券包+10%余额红包大派送! 买周边/年卡再抽iPhone18Pro,最高赢10年VIP!手慢无,戳我领取>> 阅读详情

相关推荐

MyBatis CRUD操作详解与常见问题解决

本文详细介绍了 MyBatis 框架中常用的 CRUD 操作,并提供了每个操作的完整实现步骤和代码示例。通过编写接口、Mapper 文件以及测试类,读者可以快速掌握 MyBatis 的基本用法。查询操作(select):通过@Select注解和SqlSession,实现了从数据库中查询数据的操作,包括通过id获取特定用户的详细信息。插入操作(insert):通过@Insert注解与 SQL 映射文件,完成了向数据库插入新数据的功能。特别注意,插入操作需要手动提交事务。更新操作(update):通过。

m0_74823658的博客 1055

Spring Boot 2.4.5和MyBatis Plus中实现增删改(CRUD)操作

1. **主键冲突**:检查是否配置了`@TableId(type = IdType.AUTO)`,并确保数据库主键自增。: ResponseEntity.badRequest().body("添加失败");: ResponseEntity.badRequest().body("删除失败");: ResponseEntity.badRequest().body("更新失败");3. **事务未回滚**:确认是否在启动类添加了`@EnableTransactionManagement`。

SAFE20242034的博客 569

Springboot整合Mybatis实现级联一对多CRUD操作

在关系型数据库中,随处可见表之间的连接,对级联的表进行增删改查也是程序员必备的基础技能。关于Spring Boot整合Mybatis在之前已经详细写过,不熟悉的可以回顾Spring Boot整合Mybatis并完成CRUD操作,这是本文操作的基础。本文先准备一个测试的数据库,然后使用MyBatis Generator进行部分代码自动生成,再以一个例子来展示稍微高级点的操作:使用Mybatis完成级...

qq_36860032的博客 1504

SpringBoot综合案例-员工CRUD

环境 springboot2.4.3+ freemarker2.3.31 + bootstrap3 + druid1.2.6+ mysql8+ mybatis2.1.4 需求 使用springboot完成员工的crud 操作步骤 步骤1:创建项目:springboot-crud 步骤2:创建数据库,创建表 CREATE TABLE `employee` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(...

langfeiyes的博客 682

基于Struts2、Spring和MyBatis的CRUD操作实践指南

本文还有配套的精品资源,点击获取 简介:本文详细介绍了如何在myeclipse2014环境下利用JDK1.7实现一个基于Struts2、Spring和MyBatis框架的CRUD应用程序。首先阐述了每个框架在MVC模式中的角色和职责,然后通过具体的步骤讲解了如何配置和实现增删查改(CRUD)操作。内容包括Struts2的Action类实现、Spring的依赖注入和事务管理、...

weixin_31163455的博客 1093

MyBatis CRUD 操作详解及实战案例

本文还有配套的精品资源,点击获取 简介:MyBatis作为一个轻量级持久层框架,以其灵活性和高效性而受到开发者的青睐。本文深入探讨了MyBatis在数据库操作中的增删改查(CRUD)实现方式,并通过 movies.sql 数据库文件及MyBatis应用实例,提供了全面的实践指南。文章通过实例展示了如何通过XML配置或Java注解实现CRUD操作,并解释了与之相...

weixin_42613360的博客 1253

MybatisPlus(3.4.2)简易学习笔记

文章目录1、快速开始2、CRUD操作2.1 添加操作 int insert(T entity);2.2 更新操作2.2.1 根据id更新2.2.2 根据条件更新2.3 删除操作2.3.1 int deleteById(Serializable id);2.3.2 int deleteByMap(@Param(Constants.COLUMN_MAP) Map1、快速开始 Springboot+Mybatis+MP ​ 1.创建工程 ​ 2.导入依赖:mysql驱动 mybatis-plus-boot

a_letter的博客 1747

RK3588上rknn_toolkit_lite2报错解决:手把手教你更新librknnrt.so的正确姿势

本文针对在RK3588平台上使用rknn_toolkit_lite2时遇到的“Invalid RKNN model version”等常见错误,提供了完整的诊断与解决方案。文章深入剖析了RKNN生态系统各组件(如librknnrt.so、RKNN Server)版本不兼容的根源,并手把手指导如何安全、正确地更新librknnrt.so运行时库,确保AI模型在RK3588 NPU上实现高效推理。

weixin_29189003的博客 507

MyBatis框架学习笔记02:使用MyBatis实现CRUD操作

文章目录Ⅰ、查询表记录(Ⅰ)、在映射器配置文件里引入结果映射元素(Ⅱ)、添加按姓名查询用户记录功能1)、在UserMapper.xml里添加映射语句 - findByName2)、3)、4)、Ⅱ、插入表记录(Ⅰ)、(Ⅱ)、(Ⅲ)、(Ⅳ)、(Ⅴ)、Ⅲ、更新表记录(Ⅰ)、(Ⅱ)、(Ⅲ)、(Ⅳ)、Ⅳ、删除表记录(Ⅰ)、(Ⅱ)、(Ⅲ)、(Ⅳ)、 Ⅰ、查询表记录 打开MyBatisDemo项目,笔记01中我在UserMapper.xml里定义了两个查询语句:findById和findAll,对应的在UserMapp

weixin_46300722的博客 759

手把手教你用Ollama & AnythingLLM搭建AI知识库,无需编程,跟着做就行!

本地运行大模型耗资源,需要选择较小的模型作为基础模型。在终端中运行时可能会出现 CUDA 错误,表示显存不足,导致提供的端口失效。中文支持不够完善。\3. 文中提到的技术软件工具有:Ollama、Chatbox、Open WebUI、向量数据库、嵌入模型、本地模型 Gemma、AnythingLLM。

2401_86435672的博客 1万+

深入理解DQN中的Q值:核心概念和应用

在强化学习中,Q值(或称为动作价值函数)是核心概念之一。Q值函数 ( Q(s, a) ) 表示在给定状态 ( s ) 下,采取动作 ( a ) 并遵循某策略后,智能体从当前状态到未来状态所能获得的预期总回报。简言之,Q值是评估特定状态和动作对的好坏的指标。

qlkaicx的博客 2967

Mybatis的CRUD操作【包含查询记录总条数、模糊查找】(完整代码演示)

return id;return sex;/**Keafmd@Description: 用户的持久层接口@author: 牛哄哄的柯南*//**查询所有操作@return*//**保存用户*//**更新用户*//**根据id删除用户@param id*//**根据id查新用户信息@param id@return*//**根据名称模糊查询@return*//**查询总用户数。

2401_85124205的博客 1113

基础知识学习 -- qnx 系统

qnx os车载系统

求变,从思想开始 3856

MyBatis-Plus 通用 CRUD 操作

首先,我们需要定义实体类,它对应数据库中的表结构。MyBatis-Plus 提供了自动生成主键的注解@TableId,并且支持多种主键生成策略。import com@Data @TableName("users") // 对应数据库中的表名 public class User {@TableId(type = IdType . AUTO) // 主键自增 private Long id;

Flying_Fish_roe的博客 1919

机器人动力学与控制学习笔记(一)————机器人控制概述

一、概述 1、机器人控制的目的 对自由运动机器人来说,控制的目的是要控制机器人手端的位置和姿态(以后统一简称为位姿),即所谓位置控制问题。这时希望机器人手端所达到的位置称为期望位置或期望轨迹。期望轨迹可以在机器人任务空间中给出,也可以通过逆运动学关系转化为机器人关节空间中的期望轨迹。期望轨迹通常有两种形式:一种是一个固定位置(即固定点),另一种是一条随时间连续变化的轨迹。自由运动机器人位置控制的目的,是要使机器人手端从任意起始位置出发都能到达期望轨迹。当期望轨迹是固定点时的位置控制称为定...

冰与火的青春的博客 6871

3.详解Labview串口通讯--从串口线连接到串口通讯保姆级教程

本文非常详细的介绍了使用Labview实现串口通讯,读完题主这篇文章,即使你是今天刚下载的Labview,也能熟练的连接并驱动串口执行,接下来和我一起学习下,记得关注并点赞不迷路

关注我,更多技术问题欢迎私聊~ 1万+

MyBatis CRUD操作终极指南 → MyBatis CRUD 操作详解(完整版手册)→ MyBatis CRUD 项目参考

《MyBatis CRUD操作完全手册》摘要: 本手册系统讲解MyBatis的增删改查操作,包含核心概念(SqlSessionFactory、Mapper映射)、四种基础操作(查询/插入/更新/删除)的完整写法和接口简写方式,重点覆盖动态SQL、参数传递、事务管理和性能优化。特别说明#{}与${}的安全差异,提供自增主键获取、批量操作、逻辑删除等实战方案,并附SpringBoot整合示例(含目录结构、实体类、Mapper接口/XML、Service层及事务控制)。注意事项强调SQL注入防护、条件限制避免全表

DeppBing的博客,全栈修炼记|记录一个开发者的进化轨迹 1304

使用R语言整理GEO数据的简易教程

本教程介绍了使用R语言从GEO数据库下载数据并进行数据整理的基本步骤。根据实际研究问题,你可能需要进行更复杂的数据处理和分析。R语言作为一种强大的生物信息学工具,为GEO数据的整理、分析和可视化提供了丰富的功能和工具。希望这个教程能够帮助你入门GEO数据整理和R语言的应用。如果你在使用过程中遇到问题,或需要进一步的指导,请随时向我询问。祝你在GEO数据分析的旅程中取得成功!

Mrrunsen的博客 3730

SpringBoot整合Mybatis进行crud操作

SpringBoot整合Mybatis进行crud操作。

qq_38930254的博客 1033

三态门Multisim电路仿真——硬件工程师笔记

三态门原理及应用摘要 三态门是具有高电平(1)、低电平(0)和高阻态(Z)三种输出的逻辑电路,通过使能端(EN)控制状态切换。高阻态时输出端等效断路,避免信号冲突。其核心应用包括: 总线系统:多设备共享总线时,仅使能选中设备的三态门,其余保持高阻态,防止干扰。 数据选择器:利用三态门切换多路输入信号,简化电路设计。 实现方式分两种: TTL三态门(三极管构成):低电平使能有效,仿真验证输出逻辑与高阻态。 MOS三态门(MOS管构成):高电平使能有效,仿真显示使能信号控制输出状态。 文中还附硬件工程师笔试面试

XU157303764的博客 1999

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Mybatis方式完成CRUD操作

Java开发在以前做数据库连接的时候通过JDBC来完成,非常麻烦。

令狐_JackieHao的博客 2122

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

MyBatis CRUD标签:核心操作解析

在当今的软件开发领域,MyBatis 作为一款优秀的持久层框架,被广泛应用于各种项目中。尤其是在处理数据库操作时,CRUD(Create、Read、Update、Delete)操作是任何应用程序都不可或缺的部分。想象一下,一个电商网站在处理用户订单时,需要不断地创建新订单、读取订单信息、更新订单状态以及删除无效订单。如果没有高效的CRUD操作,那么整个网站的数据管理将变得异常复杂和低效。在这样的背景下,MyBatis的CRUD标签就成为了简化数据库操作、提高开发效率的关键。

JavaCodePro的博客 612

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

mybatis的CRUD操作

在mybatis的配置文件的标签中添加接口类的全限定路径:com.mybatis.mapper.UserMapper2。注意:Mybatis映射器XML对于多个参数,默认情况下只识别arg0、arg1、paraml和param2这种内部定义的名称,性能表现则依赖于使用的数据库,对某些数据库来说,使用连接池并不重要,这个配置就很适合这种情形。动态SQL的参数名字必须和map集合的key键的名称相同;作用:为全限定类名重新配置一个简单的名字,方便后面的引用,减少代码的冗余。

ArrayAda的博客 950

05-MyBatis的CRUD操作(单表操作)

MyBatis的CRUD操作(单表操作)

qq_61951462的博客 780

MyBatis的CRUD操作与案例

1.背景介绍 MyBatis是一款优秀的Java持久化框架,它可以简化数据库操作,提高开发效率。在本文中,我们将详细介绍MyBatis的CRUD操作以及一个实例案例。 1. 背景介绍 MyBatis是一款基于Java的持久化框架,它可以简化数据库操作,提高开发效率。MyBatis的核心功能是将SQL语句与Java代码分离,使得开发人员可以更加方便地操作数据库。MyBatis支持多种数据库,如...

AI天才研究院 1037

MyBatis-Plus ——CRUD实战

简化开发:内置CRUD方法,无需编写XML映射文件;功能丰富:支持分页、逻辑删除、自动填充等实用特性;无缝集成:与SpringBoot等框架完美兼容,引入后不影响现有工程。

2302_79926174的博客 1231
上一篇: 2.3 MyBatis基础操作
下一篇: 2.1 项目准备
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值