小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-4.动态Sql语句Mybaties SqlProvider

4、动态Sql语句Mybaties SqlProvider
    简介:讲解什么是动态sql,及使用

        1、
            @UpdateProvider(type=VideoSqlProvider.class,method="updateVideo")  更新
            @InsertProvider   插入
            @DeleteProvider      删除
            @SelectProvider   查询

        2、写法

         public String updateVideo(final Video video){  
           return new SQL(){{  
               UPDATE("video");

               //条件写法.  
               if(video.getAuthorId()!= null){  
                  SET("author_id=#{authorId}");  
               }    
               if(video.getTotalEpisode()!= null){
                   SET("total_episode=#{totalEpisode}");
               }

               WHERE("id=#{id}");
           }}.toString();  
        } 
    3、参考资料
        https://www.cnblogs.com/zhangminghui/p/4903351.html
     
 

开始


更新的时候只更新某几个字段。并不想全部更新。这样就导致了update的时候要写不同的sql语句,写不同的判断。

小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-4.动态Sql语句Mybaties SqlProvider


所有通过SqlProvider判断只更新有值的字段。没有值的就忽略它
新建provider这个包

小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-4.动态Sql语句Mybaties SqlProvider



videoProvider

小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-4.动态Sql语句Mybaties SqlProvider



实体类里面point改成用Double这个包装类。然后还需重新生成getter和setter方法

小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-4.动态Sql语句Mybaties SqlProvider


条件的判断写一遍

小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-4.动态Sql语句Mybaties SqlProvider


小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-4.动态Sql语句Mybaties SqlProvider

使用provider

小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-4.动态Sql语句Mybaties SqlProvider



启动应用。
postman测试 选择put类型去更新数据

小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-4.动态Sql语句Mybaties SqlProvider



注意路径前面要加admin

小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-4.动态Sql语句Mybaties SqlProvider


返回1

小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-4.动态Sql语句Mybaties SqlProvider


控制台的sql语句

小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-4.动态Sql语句Mybaties SqlProvider


再更新title

小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-4.动态Sql语句Mybaties SqlProvider


update语句输出了更新的两个字段。

小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-4.动态Sql语句Mybaties SqlProvider


数据库表内

小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-4.动态Sql语句Mybaties SqlProvider



可以搜索关键字 网上有很多的案例

小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-4.动态Sql语句Mybaties SqlProvider

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzpyjj.html