当前位置: 首页 > news >正文

MyBatis-mapper.xml配置

 1、配置获取添加对象的ID

<!--    配置我们的添加方法,获取到新增加了一个monster对象的iduseGeneratedKeys="true" 意思是需要获取新加对象的主键值keyProperty="monster_id" 表示将获取到的id值赋值给Monster对象的monster_id属性
--><insert id="addMonster" parameterType="Monster"useGeneratedKeys="true" keyProperty="monster_id">INSERT INTO mybatis_monster_ (monster_id,age,birthday,email,gender,name,salary)VALUES (#{monster_id},#{age},#{birthday},#{email},#{gender},#{name},#{salary})</insert>
  @Testpublic void testAdd() {Monster monster = new Monster();for(int i=10;i<20;i++) {monster.setAge(100+i);monster.setBirthday(new Date());monster.setEmail("123@qq.com");monster.setGender(1);monster.setSalary(8928.00);monster.setName("银角"+i);monsterMapper.addMonster(monster);System.out.println("获取添加的对象id" + monster.getMonster_id());}}

2.parameterType(输入参数类型)的再说明

(1)传入简单类型,比如按照id查Person   (单条件查询)

(2)传入POJQ类型,查询时需要有多个筛选条件(将多个条件封装到pojo中,将pojo作为参数传入)

比如 请查询monster_id =1或者 name='白骨精'的妖怪.

注意:当有多个条件时,传入的参数就是Pojo类型的Java对象,比如这里的Monster对象,

2.1如何模糊查询

        当我们传入的是String时,可以使用 ${}接收参数

首先,在MonsterMapper中,写这个方法, 查询名字当中含有“狐狸精”的妖怪

public Monster findByName(String name);

然后,映射文件中写这个语句,注意${name}

<select id="findByName" resultType="com.bin.mybatis.entity.Monster" parameterType="String">SELECT * FROM mybatis_monster_WHERE name like '%${name}%'</select>

3、实现参数是HashMap

        我们可以使用HashMap来实现多条件的查询


//    查询id>10而且salary大于40的所有妖怪public List<Monster> findMonsterByIdAndSalary(Map<String,Object> map);
    <select id="findMonsterByIdAndSalary" resultType="com.bin.mybatis.entity.Monster" parameterType="Map">SELECT * FROM mybatis_monster_WHERE monster_id>#{monster_id} AND salary>#{salary}</select>
  @Testpublic void findMonsterByIdAndSalary(){Map<String, Object> map = new HashMap<String,Object>();map.put("monster_id", 6);map.put("salary", 1234);List<Monster> monsterList = monsterMapper.findMonsterByIdAndSalary(map);for (Monster monster : monsterList) {System.out.println(monster);}}

4、返回参数是map

 //    查询id>10而且salary大于40的所有妖怪//  第二种写法:参数和返回类型都是Mappublic Map<String,Object> findMonsterByIdAndSalary2(Map<String,Object> map);
  <select id="findMonsterByIdAndSalary2" resultType="Map" parameterType="Map">SELECT * FROM mybatis_monster_WHERE monster_id>#{monster_id} AND salary>#{salary}</select>
@Testpublic void findMonsterByIdAndSalary(){Map<String, Object> map = new HashMap<String,Object>();map.put("monster_id", 6);map.put("salary", 1234);List<Monster> monsterList = monsterMapper.findMonsterByIdAndSalary(map);for (Monster monster : monsterList) {System.out.println(monster);}}

相关文章:

MyBatis-mapper.xml配置

1、配置获取添加对象的ID <!-- 配置我们的添加方法&#xff0c;获取到新增加了一个monster对象的iduseGeneratedKeys"true" 意思是需要获取新加对象的主键值keyProperty"monster_id" 表示将获取到的id值赋值给Monster对象的monster_id属性 --><…...

【如何选择Mysql服务器的CPU核数及内存大小】

文章目录 &#x1f50a;博主介绍&#x1f964;本文内容&#x1f4e2;文章总结&#x1f4e5;博主目标 &#x1f50a;博主介绍 &#x1f31f;我是廖志伟&#xff0c;一名Java开发工程师、Java领域优质创作者、CSDN博客专家、51CTO专家博主、阿里云专家博主、清华大学出版社签约作…...

【从浅到深的算法技巧】4.静态方法

1.1.6静态方法 在许多语言中&#xff0c;静态方法被称为函教&#xff0c;静态方法是一组在被调用时会被顺序执行的语句。修饰符static将这类方法和1.2的实例方法区别开来。当讨论两类方法共有的属性时我们会使用不加定语的方法一词。 1.1.6.1静态方法 方法封装了由一系列语句…...

YOLO手部目标检测

手部目标检测原文地址如下&#xff1a;手部关键点检测2&#xff1a;YOLOv5实现手部检测(含训练代码和数据集)_yolov5 关键点检测-CSDN博客 手部检测数据集地址如下&#xff1a; 手部关键点检测1&#xff1a;手部关键点(手部姿势估计)数据集(含下载链接)_手关键点数据集-CSDN博…...

网络IP地址如何更改?怎么使用动态代理IP提高网速?

网络IP地址更改以及使用动态代理IP提高网速的步骤如下&#xff1a; 一、更改IP地址 1. 打开浏览器&#xff0c;输入路由器登陆地址并登陆路由器后台管理界面。 2. 找到“高级设置”或“无线设置”或“VPN设置”一栏&#xff0c;点击“断开”&#xff0c;即可断开网络&#xff0…...

Flink实时电商数仓之DWS层

需求分析 关键词 统计关键词出现的频率 IK分词 进行分词需要引入IK分词器&#xff0c;使用它时需要引入相关的依赖。它能够将搜索的关键字按照日常的使用习惯进行拆分。比如将苹果iphone 手机&#xff0c;拆分为苹果&#xff0c;iphone, 手机。 <dependency><grou…...

MFC - CArchive/内存之间的序列化应用细节

文章目录 MFC - CArchive/内存之间的序列化应用细节概述笔记END MFC - CArchive/内存之间的序列化应用细节 概述 有个参数文件, 开始直接序列化到文件. 现在优化程序, 不想这个参数文件被用户看到. 想先由参数发布程序(自己用)设置好参数后, 加个密落地. 等用户拿到后, 由程序…...

C语言实验4:指针

目录 一、实验要求 二、实验原理 1. 指针的基本概念 1.1 指针的定义 1.2 取地址运算符&#xff08;&&#xff09; 1.3 间接引用运算符&#xff08;*&#xff09; 2. 指针的基本操作 2.1 指针的赋值 2.2 空指针 3. 指针和数组 3.1 数组和指针的关系 3.2 指针和数…...

项目——————————

C/C Linux Socket网络编程 TCP 与 UDP_c 语言tcp socket cleint read-CSDN博客C/C Socket - TCP 与 UDP 网络编程_c socket udp-CSDN博客 登录—专业IT笔试面试备考平台_牛客网...

【论文阅读】Realtime multi-person 2d pose estimation using part affinity fields

OpenPose&#xff1a;使用PAF的实时多人2D姿势估计。 code&#xff1a;GitHub - ZheC/Realtime_Multi-Person_Pose_Estimation: Code repo for realtime multi-person pose estimation in CVPR17 (Oral) paper&#xff1a;[1611.08050] Realtime Multi-Person 2D Pose Estima…...

图像分割实战-系列教程9:U2NET显著性检测实战1

&#x1f341;&#x1f341;&#x1f341;图像分割实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 U2NET显著性检测实战1 1、任务概述...

RK3568平台 Android13 GKI架构开发方式

一.GKI简介 GKI&#xff1a;Generic Kernel Image 通用内核映像。 Android13 GMS和EDLA认证的一个难点是google强制要求要支持GKI。GKI通用内核映像&#xff0c;是google为了解决内核碎片化的问题&#xff0c;而设计的通过提供统一核心内核并将SoC和板级驱动从核心内核移至可加…...

阿里云服务器节省计划价格便宜_成本优化全解析

阿里云服务器付费模式节省计划怎么收费&#xff1f;为什么说节省计划更节省成本&#xff1f;节省计划是一种折扣权益计划&#xff0c;可以抵扣按量付费实例&#xff08;不含抢占式实例&#xff09;的账单。相比包年包月实例&#xff0c;以及预留实例券和按量付费实例的组合&…...

3种依赖管理工具实现requirements.txt文件生成

1.pip 实现方式 要使用 pip 生成 requirements.txt 文件&#xff0c;可以使用以下命令&#xff1a; pip freeze > requirements.txt这个命令会将当前环境中所有已安装的 Python 包及其版本信息输出到 requirements.txt 文件中。这个文件可以用于共享项目的依赖信息&#xf…...

超图iClient3DforCesium地形、影像、模型、在线影像交互示例

超图iClient3DforCesium地形、影像、模型、在线影像交互示例 描述示例代码 描述 数据源&#xff1a;基于iserver发布的三维场景(地形、影像、BIM模型) 在线arcgis影像 应用&#xff1a;目录树展示源数据列表、目录树控制源数据可视化结果显隐、BIM模型点选查询关联属性 示例代…...

【解决】电脑上的WIFI图标不见了咋整?

相信不少同学都遇到过这种情况&#xff1a;电脑上的wifi图标莫名不见了&#xff0c;甚至有时候还是在使用的中途突然断网消失的。 遇到这种情况一般有两种解决方案&#xff1a; 1. 在开机状态下长按电源键30秒以上 这种办法应该是给主板放电&#xff0c;一般应用在wifi6上面。…...

2 - 表结构 | MySQL键值

表结构 | MySQL键值 表管理1. 库的操作2. 表的操作表的创建与删除表的修改复制表 3. 管理表记录 数据类型数值类型字符类型&#xff08;汉字或者英文字母&#xff09;日期时间类型 表头存储与日期时间格式的数据枚举类型 数据批量处理 表管理 客户端把数据存储到数据库服务器上…...

Redis(Linux版本7.2.3)

1、停止Redis服务器 [roottssvr1-c1 sysconfig]# ps -ef | grep redis root 322 1 0 10月30 ? 02:58:53 ./bin/redis-server 0.0.0.0:6379 root 32664 12498 0 14:45 pts/0 00:00:00 grep --colorauto redis [roottssvr1-c1 sysconfig]# [roottssvr…...

八股文打卡day18——操作系统(1)

面试题&#xff1a;进程和线程的区别&#xff1f; 我的回答&#xff1a; 1.概念上。进程是系统进行资源分配和调度的基本单位。线程是系统进行运算调度的最小单位。线程是进程的子任务&#xff0c;一个进程至少包含一个线程&#xff0c;一个进程可以运行多个线程&#xff0c;…...

设计模式—行为型模式之模板方法模式

设计模式—行为型模式之模板方法模式 在模板模式&#xff08;Template Pattern&#xff09;中&#xff0c;一个抽象类公开定义了执行它的方法的方式模板。它的子类可以按需要重写方法实现&#xff0c;但调用将以抽象类中定义的方式进行。 模板方法&#xff08;Template Metho…...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

SQL慢可能是触发了ring buffer

简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...