MyBatis使用Map与模糊查询 MyBatis使用Map与模糊查询的方法示例
Mq_sir 人气:0想了解MyBatis使用Map与模糊查询的方法示例的相关内容吗,Mq_sir在本文为您仔细讲解MyBatis使用Map与模糊查询的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:mybatis使用map,mybatis怎样实现查询,mybatis实现模糊查询,下面大家一起来学习吧。
当我们的实体类、或者数据库里的表、字段或者参数很多,这个时候考虑使用map
一、使用map传参插入数据
1.编写Dao接口/Mapper层 使用Map做参数
//Dao接口/Mapper层 使用Map传参 int addUser2(Map<String,Object> map);
2.编写Mapper.xml中的sql语句
<!-- 传递map的key--> <insert id="addUser2" parameterType="map"> insert into firend_mq.users (id,username,password) value (#{userid},#{name},#{pwd}) </insert>
3.编写测试类
//使用map传参添加插入 @Test public void addUser2(){ SqlSession sqlSession = Mybatisutil.getSqlSession(); UserDao mapper = sqlSession.getMapper(UserDao.class); Map<String, Object> map = new HashMap<String, Object>(); map.put("userid",4); map.put("name","好人"); map.put("pwd",1111111); mapper.addUser2(map); sqlSession.commit(); sqlSession.close(); }
使用Map传参也可以批量插入数据
二、使用map修改数据
当我们的实体类、或者数据库里的表、字段或者参数很多的时候,使用一般的实体类传参,就需要将所有的字段全部写入,显然太过于繁琐,这时候使用map传入你需要更改的字段就行
代码大致相似就不放代码了。。。
三、模糊查询
1.方式一:java代码执行的时候,传递通配符% %
List<User> likelist = mapper.getUserlike("%毛%");
2.方式二:在Mapper.xml中的sql拼接中使用通配符
select * from firend_mq.users where username like "%"#{value}"%"
实现结果:
总结:
- Map传递参数,直接写sql语句中取出即可 {parameterType=“map”}
优点可以在取参数#{value}的时候可以DIY,直接使用自己传入的key值 - 对象传递参数,直接在sql中取对象的属性即可 {parameterType=“Object”}
但是必须和实体类名字一致 - 只有一个基本类型参数的情况下,可以直接在sql中取到
- 多个参数用Map,或者注解
加载全部内容