万能的Map:若我们的实体类,或数据库中的表,字段或参数过多,我们应当考虑使用Map传参!
int addUser2(Map<String, Object> map);
<insert id="addUser2" parameterType="map">
insert into mybatis.user (id, name, pwd) values (#{userid},#{username},#{userpwd});
</insert>
@Test
public void addUser2(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
Map<String, Object> map = new HashMap<String, Object>();
map.put("userid",5);
map.put("username","嘻嘻");
map.put("userid","222222");
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.addUser2(map);
sqlSession.commit();
sqlSession.close();
}
模糊查询:
1.java代码执行的时候,传递通配符%%
@Test
public void getUserLike(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List<User> userList = mapper.getUserLike("%小%");
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
}
2.在sql拼接中使用通配符
<select id="getUserLike" resultType="com.zhao.pojo.User">
select * from mybatis.user where name like "%"#{value}"%"
</select>