Mybatis中的map

Posted RYGAR

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis中的map相关的知识,希望对你有一定的参考价值。

假设,我们的实体类,或者数据库中的表,字段或者参数过多,我们应当使用Map!

User addUser(Map<String,Object> map);
<!--对象的属性,可以直接取出来
传递map的key
-->
<insert id="addUser" parameterType="map">
      insert into mybatis.user(id,name,pwd) values (#{userId},#{userName},#{password});
</insert>

测试

@Test
public void addUser(){
   SqlSession sqlSession = MybatisUtils.getSqlSession();
   UserDao mapper = sqlSession.getMapper(UserDao.class);
   
   Map<String,Object> map = new HashMap<String,Object>();
   
   map.put("userId",5);
   map.put("password","123789");
   
   mapper.addUser(map);
   
   sqlSession.close();


}

map传递参数,直接在sql中取出map中的key即可!
对象传递参数,直接在sql中取对象的属性即可!
只有一个基本类型参数的情况下,可以直接在sql中取到!

List<User> getUserLike(String value);
<select id="getUserLike" resultType="com.jialidun.pojo.User">
    select * from mybatis.user where name like "%" #{value} "%"
/select>
@Test
public void getUserLike(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
   UserDao mapper = sqlSession.getMapper(UserDao.class);
   
   List<User> userList = mapper.getUserLike("孙");
   
   for(User user:userList){
   
     System.out.println(user);
   }
   
   sqlSession.close();

}

以上是关于Mybatis中的map的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis DAO层传递参数到mapping.xml

将多个输出中的hls属性设置为单独的片段代码

MyBatis DAO层传递参数到mapping.xml

Mybatis动态sql技术

mybatis中resultmap用法问题

Mybatis中的map