Mybatis中采用Map存放参数
当我们的实体类或者数据库中的表的字段或者参数过多时我们可以使用Map来存放参数 在对应的接口中添加方法:
int addStuMap(Map<String,Object> map);
Mapper映射文件中编写对应得sql语句:
<insert id="addStuMap" parameterType="map">
insert into students values ( #{id},#{name},#{class},#{sex} );
</insert>
测试类中:
@Test
public void AddMapStuTest(){
Map<String , Object> map = new HashMap<>();
map.put("id",1);
map.put("name","李四") ;
map.put("class","01班");
map.put("sex","男");
InputStream resource=Resources.getResourceAsStream("mybatisconfig.xml");
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resource);
int i = build .addStuMap(map);
sqlSession.commit();
sqlSession.close();
System.out.println(i);
}
在测试类中map传入的String类型的值必须与mapper映射文件中的{}里的值一样。
|