MyBatis使用Map与模糊查询的方法示例
更新时间:2021年05月02日 12:10:51 作者:Mq_sir
这篇文章主要给大家介绍了关于MyBatis使用Map与模糊查询的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
当我们的实体类、或者数据库里的表、字段或者参数很多,这个时候考虑使用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,或者注解
到此这篇关于MyBatis使用Map与模糊查询的文章就介绍到这了,更多相关MyBatis用Map与模糊查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
springboot+thymeleaf找不到视图的解决方案
这篇文章主要介绍了springboot+thymeleaf找不到视图的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-06-06
最新评论