SSM框架之MyBatis的增删改查

普通的CRUD

如果还没有搭建MyBatis的环境,请参考上一节SSM框架之MyBatis的环境搭建https://blog.csdn.net/grd_java/article/details/104896816

  • 1、重写测试方法

在这里插入图片描述

  • 2、增操作

    首先在接口中添加一个方法,传入一个Ssm类对象作为参数 在这里插入图片描述
    实体类中,我添加了一个有参构造(记住把无参构造补上),没有初始化id,因为我的数据库id字段自动增长 在这里插入图片描述
    最后在mapper映射中添加insert标签,这里想要取到方法传来的值,可以使用#{属性名}的方式 在这里插入图片描述在这里插入图片描述

  • 3、改操作

    在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 4、删除

    在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 5、模糊查询

在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 6、单个查询
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • 7、查询总记录

在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 8、插入时获取id
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • 9、级联查询(多表查询)
    myBatis可以通过属性名.属性的形式调用级联属性,实现多对象查询 在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • 10、若实体类名和数据库列名不匹配怎么办
    当不匹配时,会无法正确封装数据,这时可以将属性与字段的映射,用sql中起别名或者使用resultMap标签指定映射,直接起别名执行的效率高,使用resultMap开发效率高

动态sql

  • where和if标签(动态查询)
    当我们想要实现,根据用户传入的不同条件,查找出相应数据,如果只传入id,就按id查,传入了姓名和密码,就按姓名和密码查,想要实现这些需要动态sql
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • set标签(动态修改)
    当我们需要根据用户传入信息动态修改时,根据条件,可能会在结尾出现逗号,比如id=id,where,这样是错的,这时通过set标签解决
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • choose_when_otherwise(MyBatis中的whitch条件语句)
    当我们想要实现满足某一个条件,就按照这个条件去查,其他条件就不在去看,或者所有条件都不满足,按照默认条件去查询时,就可以使用此表签
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • foreach
    • 多条件查询
      在这里插入图片描述在这里插入图片描述在这里插入图片描述
    • 多条件插入(一次插入多条数据)
      在这里插入图片描述在这里插入图片描述在这里插入图片描述
    • 批量删除 delete from ssm where id in(?,?,?)
      删除和查询一样,循环()里面内容即可
    • 批量修改
      update ssm set username=#{username}…where id=#{id};
      修改需要重复循环这条语句,但是jdbc不支持将多个用分号结尾的语句拼接成一个,这时我们在驱动后面加一个参数即可在这里插入图片描述

resultMap标签,自定义映射(用来完成多表,级联)

  • 使用resultMap映射数据库字段名和java实体类属性

在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 多表级联查询(一对一,一个人有一辆车)

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 使用association直接完成级联映射

在这里插入图片描述

  • 分步查询实现一对一

    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 一对多(一种车型可以被很多人拥有)

    在这里插入图片描述在这里插入图片描述在这里插入图片描述

发布了23 篇原创文章 · 获赞 0 · 访问量 601

猜你喜欢

转载自blog.csdn.net/grd_java/article/details/104968430