MyBatis-mapper.xml配置
2024-01-01 22:31:53
?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);
}
}
文章来源:https://blog.csdn.net/qq_36684207/article/details/135295874
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!