Map
假设,我们的实体类或者数据库中的表,字段或者参数过多,我们应当考虑使用Map
<insert id="addUser2" parameterType="map" >
insert into user values (#{userid},#{username},#{password});
</insert>
@Test
public void maptest(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
Map<String,Object> map =new HashMap<String, Object>();
map.put("userid",4);
map.put("username","小美");
map.put("password","112233");
userMapper.addUser2(map);
sqlSession.commit();
sqlSession.close();
}
Map传递参数在sql中直接传递key即可。
对象传递参数,去hi姐在sql中取对象的属性即可。
只有一个基本类型参数的情况下,可以直接在sql中取到。
多个参数用map或者注解传递。
模糊查询
1.Java代码执行的时候,传递通配符%
List<User> userList = userMapper.getUserLike("%小%");
2.在sql拼接中使用通配符
select * from user where name like "%"#{value}"%"