随笔 - 303  文章 - 0  评论 - 3  阅读 - 15万

四、MyBatis注解开发

  MyBatis中提供注解有:

    @Insert:实现新增
    @Update:实现更新
    @Delete:实现删除
    @Select:实现查询
    @Result:实现结果集封装
    @Results:可以与@Result 一起使用,封装多个结果集
    @One:实现一对一结果集封装
    @Many:实现一对多结果集封装
    @CacheNamespace:实现注解二级缓存的使用
  下面就常用注解:@Insert 、@Update、@Delete、@Select、@Result、@Results、@One、@Many示范

  一)MyBatis简单增删查改

    接口UserMapper:

      

     测试:

   

  删、改、查类推

  二)MyBatis复杂映射开发

    注解与mapper.xml对比(图片参考其他文档):

      

     同配置文件类似分为一对一、一对多、多对多分别实现(参考https://www.cnblogs.com/ilovebath/p/14490304.html进行对比)

    1)一对一

    实现:select * from neworder o, user u where o.uid = u.id

      分解为:select * from neworder o

          select * from user u where u.id=o.uid

    接口:

        

        

     测试:

      

    2)一对多

      实现:select *,o.id oid from user u left join neworder o on u.id=o.uid

        分解为:select * from user u

          select * from neworder o where o.uid = u.id

      接口:

        

         

      测试:

        

    3)多对多

      实现:select * from student s left join sc on s.id=sc.sid inner join course c on sc.cid=c.id

        分解为:select * from student s

          select * from course c , sc where c.id=sc.cid and sc.sid=s.id

      同上一对多处理

posted on   池塘里洗澡的鸭子  阅读(54)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示