B站狂神说+mybatis增删改查操作

文章目录

      • 1.新增mapper接口
      • 2.修改mapper接口同级目录下的xml文件(UserMapper.xml)
      • 3.编写src同级别目录下的test文件
      • 4.万能的Map

1.新增mapper接口

package com.aloha.dao;import com.aloha.pojo.User;import java.util.List;public interface UserMapper {// 查询全部用户List<User> getUserList();// 根据ID查询用户User getUserById(int id);// 增加用户int addUser(User user);// 修改用户int updateUser(User user);// 删除用户int deleteUser(int id);
}

2.修改mapper接口同级目录下的xml文件(UserMapper.xml)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--namespace=绑定一个对于的Dao/Mapper接口-->
<mapper namespace="com.aloha.dao.UserMapper"><!--select查询语句--><select id="getUserList" resultType="com.aloha.pojo.User">select * from mybatis.user;</select><select id="getUserById" parameterType="int" resultType="com.aloha.pojo.User">select * from mybatis.user where id = #{id}</select><insert id="addUser" parameterType="com.aloha.pojo.User">insert into mybatis.user (id, name, pwd) values (#{id},#{name},#{pwd});</insert><update id="updateUser" parameterType="com.aloha.pojo.User">update mybatis.userset name=#{name}, pwd=#{pwd}where id=#{id};</update><delete id="deleteUser">delete from mybatis.user where id=#{id}</delete>
</mapper>

3.编写src同级别目录下的test文件

在这里插入图片描述

package com.aloha.dao;import com.aloha.pojo.User;
import com.aloha.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;import java.util.List;public class UserDaoTest {@Testpublic void test() {// 1. 获取SqlSessionFactory对象SqlSession sqlSession = MybatisUtils.getSqlSession();// 2. 执行sql// 方式一: getMappertry {UserMapper userdao = sqlSession.getMapper(UserMapper.class);List<User> userList = userdao.getUserList();for (User user : userList) {System.out.println(user);}}catch(Exception e) {e.printStackTrace();}finally {// 3. 关闭SqlSessionsqlSession.close();}}@Testpublic void test2() {SqlSession sqlSession = MybatisUtils.getSqlSession();try {UserMapper usermapper = sqlSession.getMapper(UserMapper.class);User user = usermapper.getUserById(1);System.out.println(user);}catch(Exception e) {e.printStackTrace();}finally {// 3. 关闭SqlSessionsqlSession.close();}}@Testpublic void test3() {SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);int res = mapper.addUser(new User(4, "周杰伦", "12333"));if(res > 0) {System.out.println("插入成功");}// 提交事务sqlSession.commit();sqlSession.close();}@Testpublic void test4() {SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);int res = mapper.updateUser(new User(1, "无敌", "12333"));if(res > 0) {System.out.println("修改成功");}sqlSession.commit();sqlSession.close();}@Testpublic void test5() {SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);int i = mapper.deleteUser(4);System.out.println(i);sqlSession.commit();sqlSession.close();}
}

4.万能的Map

使用场景:比如插入一个对象,不想填所有的方法

UserMapper

// 万能的Mapperint addUser2(Map<String, Object> map);

UserMapper.xml

    <insert id="addUser2" parameterType="map">insert into mybatis.user (id, pwd) values (#{userId},#{passWord});</insert>

测试方法

    @Testpublic void test6() {SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);Map<String, Object> map = new HashMap<String, Object>();map.put("userId", 4);map.put("passWord", "222333");mapper.addUser2(map);sqlSession.close();}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/3215.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

美的品牌店铺运营全解析:洞察用户行为驱动增长

美的品牌店铺运营与用户行为分析 一、店铺运营表现分析&#xff1a; 共获取320个美的店铺的数据及其店铺的商品&#xff0c;共3***0个商品&#xff0c;选取销售额最高的10个店铺美的官方旗舰店、美的空调旗舰店、华凌官方旗舰店、美的冰箱旗舰店、美的日邦企业店、美的集成灶旗…

【笔记】变压器-热损耗-频响曲线推导 - 02 预备知识

0.题外话 周五&#xff0c;在处理一个电路设计时&#xff0c;关联到了日本的TDK公司。目前&#xff0c;市面上大量出货的开关电源用标准型号 - 高频铁氧体变压器 - PQ系列&#xff0c;型号实际是TDK的公司标准。那个尺寸参数是TDK自行制定的。似乎。 我一下意识到为什么日本会…

计算机网络——网络层导论

转发是局部功能——数据平面 路由是全局的功能——控制平面 网卡 网卡&#xff0c;也称为网络适配器&#xff0c;是计算机硬件中的一种设备&#xff0c;主要负责在计算机和网络之间进行数据传输。 一、主要功能 1、数据传输&#xff1a; 发送数据时&#xff0c;网卡将计算机…

人像抠图怎么抠?5款AI抠图工具帮你一键抠人像!

在当今这个视觉盛宴频现的时代&#xff0c;一张背景简洁、人物鲜明的照片往往能瞬间捕获观者的目光。 人像抠图无疑是一项极为关键的技术。它不仅能帮助我们精准地将人物从繁琐的背景中抽离&#xff0c;还为后续的创意编辑与合成铺设了广阔的舞台。今日&#xff0c;将为大家分…

你不知道的C语言知识(第八期:动态内存管理)

本期介绍&#x1f356; 主要介绍&#xff1a;C语言中一些大家熟知知识点中的盲区&#xff0c;这是第八期&#xff0c;主讲动态内存管理。 文章目录 1. 为什么会存在动态内存2. 动态内存管理库函数2.1 malloc函数2.2 calloc函数2.3 realloc函数2.4 free函数 3. 内存泄漏&内存…

vue项目新打开一个tab页或者新窗口的方法

router.resolve&#xff1a;返回一个路由地址的规范化版本。同时包含一个包含任何现有 base 的 href 属性。默认情况下&#xff0c;用于 router.currentRoute 的 currentLocation 应该在特别高阶的用例下才会被覆写。 打开新标签页方法 const openNewTab ()> {// 打开新标…

Linux题目练习

1、配置网络&#xff1a;为网卡添加一个本网段IPV4地址&#xff0c;x.x.x.123 2、配置yum本地仓库&#xff0c;并完成traceroute命令的安装 3、用至少两种方法查看sshd服务的进程号 4、添加一块20G大小的磁盘&#xff0c;将该磁盘分为两个主分区&#xff0c;大小为1G、2G。将剩…

【Linux】动静态库:构建强大软件生态的基石

&#x1f308; 个人主页&#xff1a;Zfox_ &#x1f525; 系列专栏&#xff1a;Linux 目录 一&#xff1a;&#x1f525; 动静态库基本原理 二&#xff1a;&#x1f525; 认识动静态库 三&#xff1a;&#x1f525; 动静态库的优缺点 &#x1f98b; 静态库&#x1f98b; 动态库…

HRCE第四次实验

1.dns配置介绍 使用S/C架构 server --- bind(程序) --- 服务名称&#xff08;程序主进程&#xff09;named 开始实验前我们先进行主配置文件进行配置 vim /etc/named.conf进入主配置文件&#xff08;共分四部分&#xff09; 1.options{全局配置}&#xff08;多模块生效的配…

微服务设计模式 - 事件溯源模式(Event Sourcing Pattern)

微服务设计模式 - 事件溯源模式&#xff08;Event Sourcing Pattern&#xff09; 定义 事件溯源&#xff08;Event Sourcing&#xff09;是一种将所有状态更改保存为一系列事件的设计模式。每次系统状态发生变化时&#xff0c;都会生成一个事件&#xff0c;这些事件在事件存储…

Sketch下载安装,中文版在线免费用!

Sketch是一款轻便、高效的矢量设计工具&#xff0c;全球众多设计师借助它创造出了无数令人惊叹的作品。Sketch在下载安装方面&#xff0c;其矢量编辑、控件以及样式等功能颇具优势&#xff0c;不过&#xff0c;Sketch中文版即时设计在下载安装方面也毫不逊色。即时设计是一个一…

微服务之间的信息传递---OpenFeign拦截器

上篇我们已经实现了从网关传递信息到微服务。 新的问题是&#xff0c;微服务之间如何传递信息。 前面我们在公共模块中定义拦截器并保存用户信息到了线程变量。 但注意&#xff1a; 线程变量的作用域范围仅限于当前请求的线程。每个请求对应一个独立的线程变量&#xff0c;…

Nginx安装和配置

2.Nginx安装 2.1Nginx概述 2.1.1 Nginx介绍 Nginx&#xff08;engine x&#xff09;&#xff0c;2002 年开发&#xff0c;分为社区版和商业版&#xff08;nginx plus&#xff09; 2019 年3 月 15 日 F5 Networks 6.7 亿美元的价格收购 nginx是免费的、开源的、高性能的 HTTP…

2024全国铁路、高铁、地铁、有轨电车、窄轨铁路、单轨铁路、轻轨等矢量数据下载分享

数据是GIS的血液&#xff01; 我们在《全国地铁路线及站点SHP数据》一文中&#xff0c;分享了我国部分城市的地铁以及站点矢量数据。 现在又为你整理了2024全国铁路、高铁、地铁、有轨电车、窄轨铁路、单轨铁路、轻轨等矢量数据&#xff0c;你可以在文末查看该数据的下载领取…

git上传大文件的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

DAY16|二叉树Part04|LeetCode: 513.找树左下角的值、112. 路径总和、106. 从中序与后序遍历序列构造二叉树

目录 LeetCode: 513.找树左下角的值 基本思路 C代码 LeetCode: 112. 路径总和、113.路径总和II LeetCode: 112. 路径总和 C代码 LeetCode: 113.路径总和II LeetCode: 106. 从中序与后序遍历序列构造二叉树 基本思路 C代码 LeetCode: 513.找树左下角的值 力扣代码链接…

【算力基础】GPU算力计算和其他相关基础(TFLOPS/TOPS/FP32/INT8...)

文章目录 :one: 算力的常见指标:two: 算力计算:three: 常用链接 &#x1f680; 本文主要是聚焦于深度学习领域的 GPU的算力估计&#xff0c;其他类型的硬件设备如CPU可以类比参考。 1️⃣ 算力的常见指标 算力衡量主要与运算速度和精度这两个指标有关。 &#x1f314;速度指…

云集电商:如何通过 OceanBase 实现降本 87.5%|OceanBase案例

云集电商&#xff0c;一家聚焦于社交电商的电商公司&#xff0c;专注于‘精选’理念&#xff0c;致力于为会员提供超高性价比的全品类精选商品&#xff0c;以“批发价”让亿万消费者买到质量可靠的商品。面对近年来外部环境的变化&#xff0c;公司对成本控制提出了更高要求&…

认定出现不安全行为并通过系统发出告警信息的名厨亮灶开源了。

简介 AI视频监控平台, 是一款功能强大且简单易用的实时算法视频监控系统。愿景在最底层打通各大芯片厂商相互间的壁垒&#xff0c;省去繁琐重复的适配流程&#xff0c;实现芯片、算法、应用的全流程组合&#xff0c;减少企业级应用约 95%的开发成本&#xff0c;在强大视频算法加…

yolov5快速复现

源码下载 进入github官网搜索yolov5(网址&#xff1a;https://github.com/ultralytics/yolov5)如下图红框所示&#xff1a; 进入界面如下图所示&#xff0c;点击右上角绿色Code&#xff0c;选择下载压缩包&#xff1a; 开发环境设置 本文使用云平台开发&#xff0c;系统为Li…