mybatis按照关键字(符号)截取字符串,字符串拼接,循环查询语句,分组求和函数用法

SQL语句
1、按照关键字(符号)截取字符串,
2、 取集合参数某下标值,
3、字符串拼接,
4、 循环查询语句,
5、分组求和函数用法:
<select id="getSettleTableDetail"  parameterType="map" resultType="map"> 
            SELECT      
                    SUM( ad.HOT_NUM) AS hotNum ,      
                    SUM(ad.EXPOSURE_NUM) AS exposureNum ,      
                    SUM(ad.DOWNLOAD_NUM) AS downloadNum,    
                    SUBSTRING_INDEX( ade.CREATED_DATE,' ',1) AS createTime    
          FROM 
                    ADS_ADVERTISEMENT ad   
           LEFT JOIN      
               ADS_ADVERTISEMENT_EXPOSURE ade 
ON       ad.ADVERTISEMENT_ID=ade.ADVERTISEMENT_ID   
WHERE
           ad.ADVERTISEMENT_ID=#{advertisementId}    
          <if test="list != null ">      
                  and ade.CREATED_DATE LIKE concat(#{list[0]},'%')        
               <foreach item="item" collection="list" open="" close="" index="1">          
                       or ade.CREATED_DATE LIKE concat(#{item},'%')       
             </foreach>    
           </if>    
GROUP BY 
          createTime  
//group by是根据别名来分组的。

</select>

sql截取字符串用法:
left(被截取字段,截取长度);
right(被截取字段,截取长度);
substring(被截取字段,从第几位开始截取);
substring(被截取字段,从第几位开始截取,截取长度);
substring_index(被截取字段,关键字,关键字出现的次数);

mysql查询最后一条插入的ID:

适用int类型:

  1. SELECT LAST_INSERT_ID()  ;

  2. SELECT MAX(id) FROM table 

  3. String sql = "INSERT INTO users (username,password,email) VALUES (?,?,?);"PreparedStatement pstmt = (PreparedStatement) conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);//传入参数:Statement.RETURN_GENERATED_KEYS  

  4. pstmt.setString(1, user.getUsername());  

  5. pstmt.setString(2, user.getPassword());  

  6. pstmt.setString(3, user.getEmail());  

  7. pstmt.executeUpdate();//执行sql                                                                             int autoInckey = -1;  

  8. ResultSet rs = pstmt.getGeneratedKeys(); //获取结果     

  9. if (rs.next()) {  

  10.   autoIncKey = rs.getInt(1);//取得ID  

  11. } else {  

  12.   // throw an exception from here  

  13. }  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>