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); } }
到此这篇关于MyBatis中的mapper.xml配置的文章就介绍到这了,更多相关MyBatis mapper.xml配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Springboot @Configuration与自动配置详解
这篇文章主要介绍了SpringBoot中的@Configuration自动配置,在进行项目编写前,我们还需要知道一个东西,就是SpringBoot对我们的SpringMVC还做了哪些配置,包括如何扩展,如何定制,只有把这些都搞清楚了,我们在之后使用才会更加得心应手2022-07-07SpringMVC HttpMessageConverter消息转换器
HttpMessageConverter,报文信息转换器,将请求报文转换为Java对象,或将Java对象转换为响应报文。HttpMessageConverter提供了两个注解和两个类型:@RequestBody,@ResponseBody,RequestEntity,ResponseEntity2023-04-04Struts2的配置 struts.xml Action详解
这篇文章主要介绍了Struts2的配置 struts.xml Action详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-10-10SpringBoot+Security 发送短信验证码的实现
这篇文章主要介绍了SpringBoot+Security 发送短信验证码的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-05-05实例解析Json反序列化之ObjectMapper(自定义实现反序列化方法)
这篇文章主要介绍了实例解析Json反序列化之ObjectMapper,json自定义序列化的方法,需要的朋友可以了解下。2017-09-09
最新评论