假设,我们的实体类或数据库中的表,字段或参数过多,我们应当考虑使用Map
int addUser2(Map<String,Object> map);
User getUserById2(Map<String,Object> map);
//insert一个用户 切记不可方法重组
<insert id="addUser2" parameterType="map">
insert into mybatis.user (id,pwd) value (#{userid},#{userpwd});
</insert>
<select id="getUserById2" parameterType="map" resultType="com.xxx.pojo.User">
select * from 库名.表名 user where id=#{id} and name=#{name};
</select>
@Test
public void addUser2(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
Map<String,Object> map=new HashMap<>();
map.put("userid",5);
map.put("userpwd","lala");
mapper.addUser2(map);
sqlSession.commit();
sqlSession.close();
}
@Test
public void getUserById2(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("id",1);
mapper.getUserById2(map);
sqlSession.commit();
sqlSession.close();
}
User getUserById2(Map<String,Object> map);
Map传递参数,直接在sql中取出key即可。-->parameterType="map"
对象传递参数,直接在sql中取对象的属性。-->parameterType="Object"