经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MyBatis » 查看文章
MyBatis中map的应用与模糊查询实现代码
来源:jb51  时间:2021/11/8 12:37:45  对本文有异议

1.MyBatis中map的应用

1.1.应用场景

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

1.2.具体实现

  1. //万能map
  2. int addUser2(Map<String,Object> map);
  1. <!--对象中的属性,可以直接取出来 parameterType=传递map中的key-->
  2. <insert id="addUser" parameterType="map">
  3. insert into mybatis.user (id, name, pwd) values (#{userId},#{userName},#{passWord});
  4. </insert>
  1. @Test
  2. public void addUser(){
  3. SqlSession sqlSession = null;
  4. try{
  5. sqlSession = MybatisUtils.getSqlSession();
  6. UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
  7. Map<String,Object> map = new HashMap<String,Object>();
  8. map.put("userid",5);
  9. map.put("userName", "Hello");
  10. map.put("passWord","123456");
  11. userMapper.addUser2(map);
  12. sqlSession.commit();
  13. }catch(Exception e){
  14. e.printStackTrace();
  15. }finally {
  16. sqlSession.close();
  17. }
  18. }

1.3.注意点!!!

  •  Map传递参数,直接在sql中取出key即可!【parameterType=“map”】
  • 对象传递参数,直接在sql中取对象的属性即可!【parameterType=“Object”】
  • 只有一个基本类型参数的情况下,可以直接在sql中取到! 多个参数用Map,或者注解!

2.模糊查询

  1. User gteUserById(Map<String,Object> map);
  1. <select id="getUserLike" resultType="com.pojo.User">
  2. select * from mybatis.user where name like #{value}
  3. </select>
  1. @Test
  2. public void getUserLike(){
  3. SqlSession sqlSession = null;
  4. try{
  5. sqlSession = MybatisUtils.getSqlSession();
  6. UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
  7. List<User> userList = userMapper.getUserLike("%lyh%");
  8. for(User user : userList){
  9. System.out.println(user);
  10. }
  11. }catch(Exception e){
  12. e.printStackTrace();
  13. }finally {
  14. sqlSession.close();
  15. }
  16.  
  17. }

到此这篇关于MyBatis中map的应用与模糊查询实现代码的文章就介绍到这了,更多相关MyBatis map模糊查询内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号