MyBatis-mapper.xml配置

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

<!--    配置我们的添加方法,获取到新增加了一个monster对象的id
        useGeneratedKeys="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>
  @Test
    public 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>
  @Test
    public 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的所有妖怪
    //  第二种写法:参数和返回类型都是Map
    public 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>

    @Test
    public 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);
        }
    }

相关推荐

  1. mapperXML标签总结

    2024-01-02 02:20:03       18 阅读
  2. Mybatis配置

    2024-01-02 02:20:03       9 阅读
  3. MyBatis——MyBatis 核心配置文件

    2024-01-02 02:20:03       6 阅读
  4. Mybatis 日志配置

    2024-01-02 02:20:03       35 阅读
  5. MyBatis-mapper.xml配置

    2024-01-02 02:20:03       34 阅读
  6. Mybatis的XML配置

    2024-01-02 02:20:03       38 阅读
  7. springboot配置mybatis

    2024-01-02 02:20:03       20 阅读
  8. MyBatis配置文件详解

    2024-01-02 02:20:03       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-02 02:20:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-02 02:20:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-02 02:20:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-02 02:20:03       20 阅读

热门阅读

  1. 【ASP.NET Core 基础知识】--目录

    2024-01-02 02:20:03       33 阅读
  2. 【最优化方法】精确一维搜索方法

    2024-01-02 02:20:03       33 阅读
  3. Jenkins 构建前端服务更新控制

    2024-01-02 02:20:03       36 阅读
  4. 一个可以用于生产环境得PHP上传函数

    2024-01-02 02:20:03       38 阅读
  5. MyBatis-注解的方式实现接口声明的方法

    2024-01-02 02:20:03       47 阅读
  6. C++判定终端ip和目标ip是否在同一局域网内

    2024-01-02 02:20:03       28 阅读
  7. SpringBoot 整合 JWT

    2024-01-02 02:20:03       38 阅读
  8. Router 面试题及答案

    2024-01-02 02:20:03       37 阅读
  9. LeetCode——链表

    2024-01-02 02:20:03       35 阅读