Mybatis数据库模糊查询
程序员文章站
2024-03-23 09:02:22
...
Mybatis数据库模糊查询
一、补充使用Map集合
- Map传递参数,直接在sql中取出key即可------parameterType=“map”
- 对象传递参数,直接在sql中取对象的属性即可------parameterType=“object”
- 只有一个基本类型参数的情况下,可以直接在sql中去到
- 多个参数用map或者注解
- mapper接口方法:
int addUser2(Map<String,Object> map);
- mapper.xml
<!--Map集合使用-->
<insert id="addUser2" parameterType="map" >
insert into user_login(Id,name,pwd) values (#{id},#{name},#{pwd})
</insert>
- 测试方法:
@Test
public void addUser2(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
Map<String,Object> map = new HashMap<String, Object>();
map.put("id",90);
map.put("name","Hello");
map.put("pwd","world");
int f = mapper.addUser2(map);
//提交事务
sqlSession.commit();
if (f > 0){
System.out.println("插入成功");
}else {
System.out.println("插入失败");
}
sqlSession.close();
}
二、模糊查询
- Java代码执行的时候,传递通配符% %
List<User> userList = mapper.getUserLike("%小%");
- 在sql拼接中使用通配符
select * from user_login where name like "%"#{value}"%"
第二种:
- mapper接口方法:
//模糊查询
List<User> getUserLike(String value);
- mapper.xml
<!--模糊查询-->
<select id="getUserLike" resultType="dao.pojo.User">
select * from user_login where name like "%"#{value}"%"
</select>
- 测试方法:
@Test
public void getUserLike(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List<User> userLike = mapper.getUserLike("小");
for (User user : userLike) {
System.out.println(user);
}
sqlSession.close();
}
上一篇: 数据库的竖转横(菜鸟小白第一次发)
下一篇: requests库的使用