当前位置: 首页 > 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);}}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 系列十二、Linux中安装Zookeeper
  • Windows搭建RTSP视频流服务(EasyDarWin服务器版)
  • 几个实用网站
  • 【Shell编程练习】猜大小
  • docker应用部署(部署MySql,部署Tomcat,部署Nginx,部署Redis)
  • 【AIGC风格prompt】风格类绘画风格的提示词技巧
  • 第三百四十回
  • Python爬虫---selenium基本使用
  • 2024年第一天,玩飞越丛林
  • GO语言基础笔记(九):工程实践
  • 32阵元 MVDR和DREC DOA估计波束方向图对比
  • Apache DolphinScheduler 3.1.9 版本发布:提升系统的稳定性和性能
  • 超图iClient3DforCesium地形、影像、模型、在线影像交互示例
  • 启明智显开源项目分享|基于Model 3c芯片的86中控面板ZX3D95CM20S-V11项目软硬件全开源
  • SPI通信
  • 分享的文章《人生如棋》
  • ➹使用webpack配置多页面应用(MPA)
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • JavaScript新鲜事·第5期
  • leetcode46 Permutation 排列组合
  • magento2项目上线注意事项
  • MD5加密原理解析及OC版原理实现
  • OSS Web直传 (文件图片)
  • sublime配置文件
  • 产品三维模型在线预览
  • 高性能JavaScript阅读简记(三)
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 我感觉这是史上最牛的防sql注入方法类
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • - 转 Ext2.0 form使用实例
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​如何使用QGIS制作三维建筑
  • # .NET Framework中使用命名管道进行进程间通信
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (2)STL算法之元素计数
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (web自动化测试+python)1
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (一)基于IDEA的JAVA基础10
  • .bashrc在哪里,alias妙用
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .net Stream篇(六)
  • .NET 材料检测系统崩溃分析
  • .NET 漏洞分析 | 某ERP系统存在SQL注入
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .Net接口调试与案例
  • .net开发日常笔记(持续更新)
  • .net下简单快捷的数值高低位切换
  • ??eclipse的安装配置问题!??
  • @Value获取值和@ConfigurationProperties获取值用法及比较(springboot)
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解
  • [ 网络基础篇 ] MAP 迈普交换机常用命令详解