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

http://www.lryc.cn/news/271432.html

相关文章:

  • 【如何选择Mysql服务器的CPU核数及内存大小】
  • 【从浅到深的算法技巧】4.静态方法
  • YOLO手部目标检测
  • 网络IP地址如何更改?怎么使用动态代理IP提高网速?
  • Flink实时电商数仓之DWS层
  • MFC - CArchive/内存之间的序列化应用细节
  • C语言实验4:指针
  • 项目——————————
  • 【论文阅读】Realtime multi-person 2d pose estimation using part affinity fields
  • 图像分割实战-系列教程9:U2NET显著性检测实战1
  • RK3568平台 Android13 GKI架构开发方式
  • 阿里云服务器节省计划价格便宜_成本优化全解析
  • 3种依赖管理工具实现requirements.txt文件生成
  • 超图iClient3DforCesium地形、影像、模型、在线影像交互示例
  • 【解决】电脑上的WIFI图标不见了咋整?
  • 2 - 表结构 | MySQL键值
  • Redis(Linux版本7.2.3)
  • 八股文打卡day18——操作系统(1)
  • 设计模式—行为型模式之模板方法模式
  • 机器学习的分类与经典算法
  • 2.3物理层下面的传输媒体
  • 笙默考试管理系统-MyExamTest----codemirror(57)
  • Qt高质量的开源项目合集
  • HarmonyOS ARKUI深度解析:图像组件及权限配置实战指南
  • 萨姆·奥尔特曼的预言
  • iPhone 13 Pro 更换『移植电芯』和『超容电池』体验
  • JavaScript 常用事件演示
  • gzip引入后node_modules中.cache compression-webpack-plugin占用内存过多
  • Vue:使用IDEA开发Vue的相关配置
  • 黑马程序员SSM框架-SpringBoot