public interface MonsterMapper {
//通过 id 或者名字查询
List findMonsterByNameORId(Monster monster);
// 查询名字中含义'精'妖怪
List findMonsterByName(@Param("name") String name);
}
修改 MonsterMapper.xml
修改 MonsterMapperTest.java ,完成测试
@Test
public void findMonsterByNameORId(){
Monster monster = new Monster();
monster.setName("牛魔王");
monster.setId(1);
List monsterList = monsterMapper.findMonsterByNameORId(monster);
for (Monster m : monsterList) {
System.out.println(m);
}
}
@Test
public void findMonsterByName(){
List monsterList = monsterMapper.findMonsterByName("牛魔王");
for (Monster monster : monsterList) {
System.out.println(monster);
}
}
要求:声明一个方法,按传入参数是 HashMap 的方式,查询 id >=1 并且 salary 大于 40 的所有妖怪
修改 MonsterMapper.java
//查询 id >= 1 并且 salary 大于 40, 要求传入的参数是 HashMap
List findMonsterByMap(Map map);
2.修改 MonsterMapper.xml
select * from monster where id>= #{id} and salary > #{salary}
修改 MonsterMapperTest.java
@Test
public void findMonsterByMap(){
Map map = new HashMap<>();
// 注意:如果入参是map,这里的id、salary在map中必须存在对应的key,mybatis才能m匹配#{id} #{salary}
map.put("id",1);
map.put("salary",40);
List monsterList = monsterMapper.findMonsterByMap(map);
for (Monster monster : monsterList) {
System.out.println(monster);
}
}
● 传入和返回 HashMap- 应用实例
1.修改 MonsterMapper.java
//查询 id >=1 并且 salary 大于 40, 要求传入的参数是 HashMap 返回的也是Map
List
2.修改 MonsterMapper.xml
SELECT id,name FROM monster WHERe id >= #{id} AND salary > #{salary}
3.测试
@Test
public void findMonsterByMapAndReturnMap(){
Map map = new HashMap<>();
// 注意:如果入参是map,这里的id、salary在map中必须存在对应的key,mybatis才能m匹配#{id} #{salary}
map.put("id",1);
map.put("salary",40);
List