【MyBatis】测试 修改.删除.查询功能

JavaEE实验二:MyBatis框架应用 实验二: MyBatis框架应用 现有一张员工表如下。利用本章所学知识完成员工管理系统。实现如下功能:根据id查询员工信息、新增员工信息、根据id修改员工信息、根据id删除员工信息。 实验步骤1、创建maven项目,在pom.xml文件中配置依赖:MyBatis、mysql、Junit依赖2、新建实体类User3、在resources下建db.properties、mybatis-config.xml文件。注意要在mybatis-config.xml文件中引入db.properties文件4、在src 阅读详情

🍓个人主页:个人主页

🍒系列专栏:SSM框架

目录

1.创建sqlSession工具类

2.测试修改功能

3.测试删除功能

 4.测试查询功能


1.创建sqlSession工具类

在MyBatis 使用中,如果每个方法执行时都需要读取配置文件,并根据配置文件的信息构建SqlSessionFactory对象,然后创建SqlSession 对象,这会导致类大量的重复代码。为了简化开发,需要将重复代码封装到一个工具类中。如下:

package com.atguigu.mybatis.utils;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;

public class SqlSessionUtils {

    public SqlSession getSqlSession() {
        SqlSession sqlSession = null;
        {
            try {
                InputStream  is = Resources.getResourceAsStream("mybatis-config.xml");
                SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
                SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
                sqlSession = sqlSessionFactory.openSession(true);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return sqlSession;
    }




}

后面的 修改 删除 查询 只是简单测试,后期会优化。

2.测试修改功能

public interface UserMapper {

    /**  修改用户信息 */
    void updateUser();

}

<?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">
<mapper namespace="com.atguigu.mybatis.mapper.UserMapper">
   
    <update id="updateUser">
-- 现在只是测试,后期会优化
update t_user set username='root',password='root' where id=2;
    </update>
</mapper>

public class MybatisTest {
    @Test
    public void test() {
        SqlSessionUtils sqlSessionUtils = new SqlSessionUtils();
        SqlSession sqlSession = sqlSessionUtils.getSqlSession();


    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

     userMapper.updateUser();
     sqlSession.close();


    }

}

运行后:

 

3.测试删除功能

public interface UserMapper {


    /**  删除用户信息 */
    void deleteUser();

}
<delete id="deleteUser"> delete from t_user where id=3; </delete>

public class MybatisTest {
    @Test
    public void test() {
        SqlSessionUtils sqlSessionUtils = new SqlSessionUtils();
        SqlSession sqlSession = sqlSessionUtils.getSqlSession();


    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

     userMapper.deleteUser();
     sqlSession.close();


    }

}

 

 4.测试查询功能

public interface UserMapper {

    /**  查询用户信息 */
    List<User> getAllUser();

}
注意:
查询的标签 select 必须设置属性 resultType 或 resultMap ,用于设置实体类和数据库表的映射关系
resultType :自动映射,用于属性名和表中字段名一致的情况
resultMap :自定义映射,用于一对多或多对一或字段名和属性名不一致的情况

    <select id="getAllUser" resultType="com.atguigu.mybatis.pojo.User">

        select * from t_user;
    </select>

public class MybatisTest {
    @Test
    public void test() {
        SqlSessionUtils sqlSessionUtils = new SqlSessionUtils();
        SqlSession sqlSession = sqlSessionUtils.getSqlSession();


    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

        List<User> allUser = userMapper.getAllUser();
        allUser.forEach(System.out::println);
        sqlSession.close();


    }

}

 

 

SpringBoot + Mybatis-puls + ClickHouse (分页查询、添加、修改、删除) 项目场景: ClickHouse 操作基于Mybatis-puls源码扩展开发。解决ClickHouse的修改和删除 SQL操作与Mysql不相同。 基于Mybatis-puls: update 、updateById 、 delete 函数 1、SqlMethodDiv.java文件枚举类,对sql脚本定义 package com.demo.infrastructure.injector.enums; /** * @author liuxiansong */ public enu... 阅读详情

相关推荐

Mybatis构建SQL——有码有依靠,有图有真相

编写指定调用方法 这是嘛啊???这就是Mybatis进行构建时候给你的构建SQL对象,就例如下面咱对new 处理的这个SQL对象进行测试: 运行结果如下: 就是返回sql语句定义功能类并提供获取查询的 SQL 语句的方法。例如下面的语句把之前的@Select换为了现在的@SelectProvider 属性说明:编写测试函数 运行结果如下: 定义功能类并提供获取新增的 SQL 语句的方法。 属性说明:编写测试函数: 运行效果如下: 定义功能类并提供获取修改的 SQL 语句的方法。 属性说明:编写测试函数: 运

流楚丶格念的博客 1748

MyBatis实现删除操作

MyBatis实现删除操作 1 删除一个 2 批量删除

希望可以给你点帮助 4409

RT-Thread stm32h7使用串口DMA

stm32h7在rtthread中无法使用串口DMA,通过更改驱动代码使其支持串口DMA

qq_35141454的博客 2285

Mybatis工作机制源码分析—SqlSessionUtils.getSqlSession工作机制

在调用SqlSessionTemplate进行dao层操作时,其会将工作委托给sqlSessionProxy属性进行,而sqlSessionProxy在进行相关method调用时,用到了JDK动态代理机制,首先SqlSessionUtils.getSqlSession获取sqlSession,本文主要以源码的形式阐述其工作机制。 SqlSessionTemplate.SqlSessionInte

探索java技术、web技术 5640

单像素成像技术原理与Matlab仿真实现

傅里叶变换是数字图像处理的核心数学工具,它将图像从空间域转换到频率域表示。基于傅里叶频谱分析的成像技术通过采集关键频率分量实现图像重建,这种原理催生了单像素成像这一创新技术。单像素成像利用空间光调制器和单个探测器直接测量傅里叶系数,结合压缩感知算法实现高效成像,在红外、太赫兹等特殊波段展现出独特优势。通过Matlab仿真可以验证傅里叶基测量矩阵的构建、压缩感知重建等关键技术环节,为实际系统开发提供理论基础。该技术在弱光环境成像、显微观测等领域具有重要应用价值,其低成本特性也大大降低了特殊波段成像的门槛。

weixin_29061425的博客 344

天龙八部源码深度解析:从宠物系统到副本机制(C++游戏开发实战)

本文深度解析《天龙八部》源码架构,重点剖析宠物系统状态机实现与副本动态加载机制等核心模块。通过C++代码示例展示宠物AI状态迁移逻辑和副本场景管理技术,为现代游戏开发提供兼容性改造方案与设计启示。适合游戏开发者学习经典MMORPG的工程化实现路径。

weixin_29011239的博客 386

MyBatis--添加、修改、删除

文章目录一、添加功能  1、基础添加  2、主键返回二、修改  1、修改全部信息  2、修改动态信息三、删除  批量删除 一、添加功能   1、基础添加 实现步骤 1.定义接口,方法 2.编写sql映射文件 3.编写MyBatis代码 package com.mybatis.demo; import com.mybatis.mapper.StuMapper; import com.mybatis.pojo.Stu; import org.apache.ibatis.io.Resources; impo

chenxingxingxing的博客 4929

在VM虚拟机的MobaXterm下安装JDK17

本文介绍了在Linux系统下安装配置JDK17的完整步骤:1)从Oracle或OpenJDK官网下载Linux版JDK17压缩包;2)上传至/usr/local目录;3)解压安装包;4)通过编辑/etc/profile文件配置环境变量,添加JAVA_HOME和PATH路径;5)使用source命令使配置生效;6)通过javac -version验证安装是否成功。整个过程涵盖了从下载到环境配置的完整流程,确保Java开发环境正确设置。

qq_2937655951的博客 441

mybatis批量删除sql语法

【代码】mybatis批量删除sql语法。

m0_70574094的博客 687

立项书8分钟定生死?手把手教你用ChatGPT辅助打造高水平申报书,让评审专家一看就想打高分!

宏大叙事、空话堆砌只会让评审绕晕,不如聚焦一个具体问题,拿出清晰的研究路径、扎实的设计方案,把“我想做什么、为什么做、打算怎么做”讲明白。对评审来说,关键不在你读了多少,而在你能否看清领域的共识、争议和空白,GPT的作用就在于帮你理清研究脉络,发现问题结构,聚焦那些还没被充分讨论的变量或方法,去提升综述的深度。之前要用到ProcessOn、Draw.io等工具画流程图,现在有了ai虽然方便了,但也需要多次调教,如果嫌麻烦,七哥给大家准备了课题申报常用的流程图,技术路线图,方便大家直接拿来编辑填空使用。

智能AI让学术科研更容易 290

第五章-AllData集成DataSophon作为数据平台功能

🔥🔥 AllData大数据产品是可定义数据中台,以数据平台为底座,以数据中台为桥梁,以机器学习平台为中层框架,以大模型应用为上游产品,提供全链路数字化解决方案。全新会员商业版 X 微信群:https://docs.qq.com/doc/DVHlkSEtvVXVCdEFo

AllDataDC的博客 1637

Javaweb之Mybatis的基础操作之删除的详细解析

预编译SQL有两个优势:性能更高更安全(防止SQL注入)性能更高:预编译SQL,编译一次之后会将编译后的SQL语句缓存起来,后面再次执行这条语句时,不会再次编译。(只是输入的参数不同)更安全(防止SQL注入):将敏感字进行转义,保障SQL的安全性。

qq_69748833的博客 1633

从零开始讲DDR(5)——读懂Datasheet

对于开发人员来说,需要根据实际场景和使用的需要,使用不同厂家,不同型号的DDR,虽然原理上大同小异,但是还是有一些细节上的需要注意的地方,接触一个新的DDR芯片,首先就是需要找到对应的datasheet,而能都读懂datasheet,也是一个硬件工程师的必备技能。

apple_53311083的博客 5219

测试修改和删除用户功能、测试查询功能

测试修改和删除用户功能、测试查询功能

weixin_46065214的博客 924

玩转企业微信群机器人:一份超详细的Webhook消息推送指南

企业微信群机器人是一个连接内部协作与外部服务的强大桥梁。通过灵活运用本文介绍的各种消息类型,你可以构建出丰富多彩、信息明确的自动化通知系统,极大地提升团队沟通效率。现在,就动手试试,将你的第一个机器人集成到工作流中吧!如果你有任何有趣的机器人应用场景或遇到了问题,欢迎在评论区留言交流!

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 3975

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

MybatisPlus(三)MybatisPlus CRUD操作

MybatisPlus CRUD操作

kong7906928的博客 427

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Mybatis-Plus:逻辑删除(@TableLogic 将数据标记为删除,而并非真正 的物理删除(非DELETE操作))

Mybatis-Plus:逻辑删除(@TableLogic 将数据标记为删除,而并非真正 的物理删除(非DELETE操作))

天行健 君子以自强不息,地势坤 君子以厚德载物。 4833

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Mybatis案例-商品的增删改查

使用 <choose,《when> 和 《otherwise> 元素可以实现条件选择逻辑,根据不同的条件选择其中一个分支进行处理。可以直接将参数作为方法的参数进行传递。可以使用自定义的对象作为参数,MyBatis 会自动将对象的属性与 SQL 语句中的参数进行映射。根据不同的条件值,选择是否添加该条件到查询语句中,从而实现根据单个条件进行灵活查询的功能。可以使用 @Param 注解来指定参数的名称,然后在 SQL 语句中通过该名称引用参数。动态条件查询是指根据不同的条件组合,构建动态的 SQL 查询语句。

meini32的博客 428

Mybatis的简单增删改查

【代码】Mybatis的简单增删改查。

weixin_65204538的博客 487

实现购物车功能(新增、查询、删除、清空、修改)

实现电商网站的购物车的相关功能

m0_72710328的博客 6081

mybatis框架笔记2

SQL映射文件开发: <!-- id:必须和接口中的方法名完全一致 注意:Mapper接口不支持方法重载的 parameterType:是参数类型 全类名 resultType:返回值类型 SQL映射文件中,sql语句获取参数的语法: #{} ${} #{}:没有SQL注入的问题 推荐使用 ${}:有SQL注入的问题 增加数据 修改数据 删除数据(删除一条数据 批量删除) 查询数据(单表查询 多表连接 组合查

青柠小甜味 146

springboot项目中mybatis-plus的基本增删改查

在springboot项目中,使用mybatis-plus完成基本的增删除改

qq_74947724的博客 1014

SSM复习之Mybatis02:Mybatis增删改查

原生Mybatis简单增删改查

lplovewjm的博客 211

Mybatis练习

在mapper接口点击红色头绳的小鸟图标会自动跳转到对应的映射配置文件,在映射配置文件中点击蓝色头绳的小鸟图标会自动跳转到对应的mapper接口。可以看出报错了,因为映射配置文件是xml类型的问题,而 > < 等这些字符在xml中有特殊含义,所以此时我们需要将这些符号进行转义,可以使用以下两种方式进行转义。而上面的SQL语句中的字段列表书写麻烦,如果表中还有更多的字段,同时其他的功能也需要查询这些字段时就显得我们的代码不够精炼。以后我们只会写上面的第3步的代码,其他的都不需要我们来完成。...

重生之我是泰勒 312

Day4-2 新增/修改菜品、套餐分类及功能完善

新增/修改/删除 菜品分类 , 在删除时判断菜品分类是否和菜类还有套餐有关联,需要我们自定义业务异常,在全局异常管理中return异常信息给前端。

weixin_48444028的博客 1332

Mybatis练习案例

Mybatis练习案例学习笔记

weixin_42888638的博客 732
上一篇: 【JAVA基础】面向对象基础(上)
下一篇: 【MyBatis】核心配置文件详解
热爱编程的小白白
热爱编程的小白白 新星计划导师 新星计划导师
博客等级 码龄5年 11万+粉丝 243原创
评论 53
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热爱编程的小白白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值