文章目录

  • namespace
  • 增删改查
    • 1. Select
    • 2. Insert
    • 3. Update
    • 4. Delete
  • 万能Map
  • 模糊查询

namespace


namespace一定要与mapper接口相对应

增删改查

1. Select

1.编写接口

//根据Id返回数据User getUserById(int id);

2.编写对应mapper中的sql语句

  <select id="getUserById" parameterType="int" resultType="com.zh.pojo.User">select * from mybatis.user where id = #{id}</select>

3.测试

  @Testpublic void getUserById(){//获取sqlSession对象SqlSession sqlSession = MybatisUtils.getSqlSession();//获取mapperUserMapper mapper = sqlSession.getMapper(UserMapper.class);User user = mapper.getUserById(1);System.out.println(user);//关闭资源sqlSession.close();}

2. Insert

1.编写接口

//添加数据int insertUser(User user);

2.编写对应mapper中的sql语句

<insert id="insertUser" parameterType="com.zh.pojo.User">insert into mybatis.user (id ,name ,pwd) values (#{id},#{name},#{pwd});</insert>

3.测试

 @Testpublic void insertUser(){//获取SqkSesion对象SqlSession sqlSession = MybatisUtils.getSqlSession();//获取mapperUserMapper mapper = sqlSession.getMapper(UserMapper.class);mapper.insertUser(new User(4,"伊泽瑞尔","123456"));//增删改操作一定要commit提交事务sqlSession.commit();//关闭资源sqlSession.close();}

3. Update

1.编写接口

//更新数据int updateUser(User user);

2.编写对应mapper中的sql语句

    <update id="updateUser" parameterType="com.zh.pojo.User">update mybatis.user set name = #{name},pwd = #{pwd} where id = #{id};</update>

3.测试

   @Testpublic void updateUser(){//获取sqlsession对象SqlSession sqlSession = MybatisUtils.getSqlSession();//获取mapperUserMapper mapper = sqlSession.getMapper(UserMapper.class);mapper.updateUser(new User(4,"卡莎","123456"));//提交事务sqlSession.commit();//关闭资源sqlSession.close();}

4. Delete

1.编写接口

//根据id删除数据int deleteUser(int id);

2.编写对应mapper中的sql语句

   <delete id="deleteUser" parameterType="int">delete from mybatis.user where id=#{id};</delete>

3.测试

     @Testpublic void deleteUser(){//获取sqlsession对象SqlSession sqlSession = MybatisUtils.getSqlSession();//获取mapper对象UserMapper mapper = sqlSession.getMapper(UserMapper.class);//删除id为4的数据mapper.deleteUser(4);//提交数据sqlSession.commit();//关闭资源sqlSession.close();}

万能Map

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

1.编写接口

//用map添加数据int insertUser2(Map<String,Object> map);

2.编写对应mapper中的sql语句 ,参数类型map,不用每次输入实体类,而且参数名字可以任意取。

       <insert id="insertUser2" parameterType="map" >insert into mybatis.user (id,pwd) values (#{userid},#{userpwd});</insert>

3.测试

      @Testpublic void insertUser2(){SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);//创建map集合Map<String,Object> map =new HashMap<String, Object>();//添加map键值对map.put("userid",4);map.put("userpwd","123456");mapper.insertUser2(map);sqlSession.commit();sqlSession.close();}

  • Map传递参数,直接在sql中取出key即可! 【parameterType=“map”】

  • 对象传递参数,直接在sql中取对象的属性即可!【parameterType=“Object”】

  • 只有一个基本类型参数的情况下,可以直接在sql中取到!

  • 多个参数用Map,或者注解!

模糊查询

1.编写接口

 //模糊查询List<User> getUserLike( String value);

2.编写对应mapper中的sql语句 ,不用写参数,两种方式。
1)在java代码执行时传递通配符

List<User> userList = mapper.getUserLike("%李%");
        <select id="getUserLike"  resultType="com.zh.pojo.User">select * from mybatis.user where name like #{value};</select>

2)在sql拼接中使用通配符

select * from mybatis.user where name like "%"#{value}"%"

最好用java代码执行时传递通配符,用sql拼接方式容易产生sql注入问题
3.测试

  @Testpublic void getUserLike(){SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);List<User> userLike = mapper.getUserLike("%李%");for (User user : userLike) {System.out.println(user);}sqlSession.close();}

(Mybatis)增删改查实现相关推荐

  1. Mybatis——增删改查(CRUD)操作

    java学习--Mybatis CRUD操作 mybatis是一个可以自定义SQL.存储过程和高级映射的持久层框架.上面这个定义是在百度上抄的,简单来说,Mybatis简化了我们对数据库的一系列操作, ...

  2. SSM框架——Mybatis增删改查

    目录 目录 环境配置 增删改查的实现 查询全部 查询单个ID 添加用户 修改用户 删除用户 增删改查-使用注解开发 思路流程:搭建环境-->导入Mybatis--->编写代码---> ...

  3. Mybatis增删改查

    增删改查基本上就是一个操作,一模一样的,首先是UserMpper接口: package com.ftz.Demo.dao;import com.ftz.Demo.po.User;import java ...

  4. Mybatis 详细的创建流程及创建第一个Mybatis增删改查程序 CRUD

    1.idea新建Maven项目Mybatis-study 将项目里的src文件夹删掉 依次将此项目作为父项目 2.在Mybatis-study中新建模块mybatis-01         在myba ...

  5. Mybatis——增删改查CLUD

    一.CRUD 1.namespace namespace中的包名和 Dao/Mapper 接口中的包名一致 2.select 选择查询语句: id:就是对应的namespace中的方法名: resul ...

  6. springboot整合mybatis增删改查(三):mybatis逆向工程

    上一篇已经把项目基本框架完善,接下来就是利用Mybatis Generator逆向工程进行mybatis的整合. 我们在创建项目开始的时候已经勾选web,mybatis,sql等,但是这些依赖还是不够 ...

  7. mybatis增删改查快速实现!!!

    Mybatis 简介 ** 1.什么是Mybatis ** MyBatis是一款优秀的基于java的持久层框架,它内部 封装了jdbc,使开发者只需要关注sql语句本身. 参考文档 :https:// ...

  8. java 基础做增删改查教学_Java Mybatis 增删改查 简单使用 入门 简版

    一些基础问题的解决 数据库对应的表 初始数据 项目结构 pom.xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...

  9. mybatis 增删改查、批量插入和删除以及自动生成uuid主键和分页

    Mapper接口: public int update(Admin admin); public Admin selectByUserName(String account); public List ...

  10. MyBatis 增删改查

    MyBatis 学习记录 MyBatis 特性 MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果 ...

最新文章

  1. 计算机视觉方向简介 | 阵列相机立体全景拼接
  2. 详解Python拼接字符串的七种方式
  3. 突发!贝壳董事长左晖因疾病意外去世
  4. java基础-可执行jar包
  5. linux下测试RTC驱动相关的命令date和hwclock常见用法简介
  6. DM368 Uboot
  7. 自顶向下和自底向上测试的优缺点
  8. 进入hbase命令_Zookeeper、Hbase安装部署
  9. 人工智障学习笔记——深度学习(4)生成对抗网络
  10. 带你彻底弄明白!java实现平衡二叉树
  11. 云存储市场上演“新三国演义”
  12. 一文搞懂VOS3000如何配置MicroSIP网络电话
  13. python 斯皮尔曼相关系数_斯皮尔曼等级相关系数(Spearmansrankcorrelationcoefficient)
  14. 警告怎么去除Reports empty tag body. The validation works in XML / JSP / JSPX / HTML/ XHTML file types
  15. 计算机cmd测试,电脑cmd命令怎么测试网速详细步骤
  16. python的OOP机制
  17. nacos cloud 配置中心中 修改properties格式内容并发布然后在浏览器页面刷新无效果
  18. PL/SQL语言简单案例
  19. 单反相机的传奇—佳能单反50年辉煌之路(连载十八)
  20. 打工宣言“我选择打工”走红,网友:言之有理,不得不赞同!

热门文章

  1. 设计模式总结 (5)行为型模式续
  2. (chap5 web服务器) 虚拟主机
  3. 《研磨设计模式》chap24 桥接模式bridge(2)场景应用
  4. 【django】项目准备
  5. Android locksettings/gatekeeper代码导读
  6. 【网络安全】浅析跨域原理及如何实现跨域
  7. 反制爬虫之Burp Suite RCE
  8. C++判断网络是否连接
  9. 160个Crackme009
  10. 【Git】搭建Git 服务器