Mybtais动态SQL详解

一、SQL详解

1. where和if标签

where标签和if标签都可以单独使用,我这里为了方便演示,在示例中就放在一起了。


2. choose,when和otherwise标签

choose,when和otherwise标签类似于java的switch,case和default语句。


3. set标签

set标签用于拼接update更新操作的SQL,注意示例中使用的标签是update,不再是select查询标签了。


    update blog
    
    
        
            title = #{title},
        
        
            author = #{author}
        
    
    
    where id = #{id}

4. foreach标签

foreach标签用于在参数是集合类型的场景下,我们可以循环遍历集合中的元素并拼接到SQL中。


5. sql标签

sql标签用于提取公共的SQL配置,在需要使用的地方直接通过include标签进行引用即可。



    
        title = #{title}
    
    
        and author = #{author}
    

二、CRUD使用动态语句

(1)添加


        insert into smbms_user
        
            
                userCode,
            
            
                userName,
            
            
                userPassword
            
        
        
            
                #{usercode},
            
            
                #{username},
            
            
                #{userpassword}
            
        
    

(2)修改

        方法1:(注意最后不能有 , 否则会报错)

  
        update user
        
            id = #{id},
            
                name = #{name},
            
            
                password = #{password},
            
            
                phone = #{phone},
            
            
                state = #{state}
            
        
        where id = #{id}
    

        方法2: (推荐使用)


        update  smbms_bill
        
            
                billcode=#{billcode},
            
            
                productname=#{productname},
            
            
                productdesc=#{productdesc},
            
        
    

(3)删除


        delete from smbms_user where id=#{id}
    

(4)查询 

        方法1:

       方法2:(推荐使用)


    
        ${bils}.id,${bils}.billCode,${bils}.productName,
        ${bils}.productDesc,${bils}.productUnit,${bils}.productCount,
        ${bils}.totalPrice,${bils}.isPayment,${bils}.createdBy,
        ${bils}.creationDate,${bils}.modifyBy,${bils}.modifyDate,
        ${bils}.providerId,${bils}.deleteflag
        


    

你可能感兴趣的:(sql,java,linq)