8.MyBatis 操作数据库(进阶)

文章目录

  • 1.动态SQL插入
    • 1.1使用注解方式插入数据
    • 1.2使用xml方式插入数据
    • 1.3何时用注解何时用xml?
    • 1.4使用SQL查询中有多个and时,如何自动去除多余and
      • 1.4.1方法一:删除and之后的代码如图所示,再次运行
      • 1.4.2方法二:加上trim标签后可以直接查询也不会报错
      • 1.4.3方法三:使用 `where`标签,也可以自动去除多余and
      • 1.4.4``和``优缺点对比
      • 2.动态SQL查询
        • 2.1使用xml方式查询数据
        • 2.2使用注解查询数据
        • 3.动态SQL修改
          • 3.1使用xml方式修改数据
            • 3.1.1一般版本
            • 3.1.2使用``标签版本
            • 3.2使用注解方式修改数据
              • 3.2.1使用``标签
              • 4.动态SQL删除
                • 4.1使用xml方式删除数据
                  • 4.1.1使用``标签版本 - 批量删除数据
                  • 4.2使用注解方式删除数据
                  • 4.3``标签
                  • 5.知识拓展
                    • 5.1DAO层、Service层和Controller层的区别
                    • 5.2@Repository和@Mapper
                    • 5.3项目报错如何自查

                      大家好,我是晓星航。今天为大家带来的是 MyBatis 操作数据库(进阶) 相关的讲解!😀

                      1.动态SQL插入

                      1.1使用注解方式插入数据

                      使用标签判断gender为不为空,并注入数据

                      接口代码:

                      test测试代码:

                      运行:

                      运行前:

                      运行后:

                      1.2使用xml方式插入数据

                      .xml文件配置输入:

                      在接口中定义一个新方法:

                      test测试代码:

                      运行:

                      运行前:

                      运行后:

                      1.3何时用注解何时用xml?

                      什么时候用注解,什么用xml方式

                      全凭个人喜好

                      进入公司之后用什么方式?

                      1.先看公司/团队 是否有要求(互联网公司大多没要求

                      2.先看同事用什么方式,同事用什么你用什么

                      3.如果同事用什么的都有

                      如果自由选择:

                      1.简单SQL 使用注解

                      2.动态SQL 使用xml

                      当前企业中的状态:

                      差不多55分,看团队的年轻状态(年龄比较小的喜欢注解)

                      1.4使用SQL查询中有多个and时,如何自动去除多余and

                      去除and

                      未加上trim标签时

                      可以看到修改完后代码报错了,那么是为什么呢?

                      我们回到.xml文件中查找,发现我们注释掉id和name后,gender前面还有个and因此报错

                      1.4.1方法一:删除and之后的代码如图所示,再次运行

                      这次发现了四个结果:

                      1.4.2方法二:加上trim标签后可以直接查询也不会报错

                      使用trim标签动态删减and

                      .xml文件:

                      test测试文件代码:

                      查询到了四个结果

                      查询id去除and,使用trim

                      运行结果:

                      1.4.3方法三:使用 where标签,也可以自动去除多余and

                      .xml文件:

                      test测试文件代码:

                      运行结果:

                      1.4.4优缺点对比

                      trim标签:

                      where标签:

                      2.动态SQL查询

                      2.1使用xml方式查询数据

                      .xml文件配置输入:

                      在接口中定义一个新方法:

                      test测试代码:

                      运行:

                      如果只保留查询女那么结果会变为什么呢?

                      可以看到修改完后代码报错了,那么是为什么呢?

                      我们回到.xml文件中查找,发现我们注释掉id和name后,gender前面还有个and因此报错

                      删除and之后的代码如图所示,再次运行

                      这次发现了四个结果:

                      数据表student所有结果:

                      2.2使用注解查询数据

                      使用trim标签:

                      .xml文件:

                      test测试代码:

                      运行结果:

                      使用where标签:

                      .xml文件:

                      test测试代码:

                      运行结果:

                      3.动态SQL修改

                      3.1使用xml方式修改数据

                      3.1.1一般版本

                      .xml文件配置输入:

                      在接口中定义一个新方法:

                      test测试代码:

                      运行:

                      3.1.2使用标签版本

                      3.1.3使用标签版本

                      3.2使用注解方式修改数据

                      3.2.1使用标签

                      .xml文件:

                      test测试代码:

                      运行结果:

                      4.动态SQL删除

                      4.1使用xml方式删除数据

                      4.1.1使用标签版本 - 批量删除数据

                      .xml文件配置输入:

                      在接口中定义一个新方法:

                      test测试代码:

                      运行前:

                      运行后:

                      4.2使用注解方式删除数据

                      .xml文件:

                      test测试代码:

                      运行结果:

                      4.3标签

                      使用这两个标签可以简化代码的写法,将一行代码通过传入一个参数解决

                      5.知识拓展

                      5.1DAO层、Service层和Controller层的区别

                      简化理解:

                      5.2@Repository和@Mapper

                      5.3项目报错如何自查

                      1.定位

                      2.解决

                      感谢各位读者的阅读,本文章有任何错误都可以在评论区发表你们的意见,我会对文章进行改正的。如果本文章对你有帮助请动一动你们敏捷的小手点一点赞,你的每一次鼓励都是作者创作的动力哦!😘